问题标签 [mongoose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
4920 浏览

performance - NodeJs 性能问题

我正在使用 NodeJs 构建一个实时统计应用程序。对于原型,我在 RackSpace 服务器中使用四核 AMD Opteron 来测试使用 Cluster NodeJs ( http://learnboost.github.com/cluster/ ) 的 nodejs 服务器和使用本机 nodejs 驱动程序的 MongoDb .

基本上,我在我的公司项目中插入了一个 JS 代码,它为一堆客户的网站提供内容。此代码每 10 秒“ping”一次我的服务器,调用图像并传递我在服务器端获取并在 MongoDb 集合中插入(或更新)的参数。在一天中的“慢”时间里,我每次获得大约 3000 个连接(我使用终端上的 netstat -natp 命令获得这些连接),这使我的集群使用每个核心的大约 25%(我使用“top”命令获得这些连接) )。但是在“忙碌”的时间里,我每次都会获得大约 7000 多个连接,这让我的集群变得疯狂(每个核心的使用率大约 80% 以上),而且似乎随着时间的推移,节点会降级。这是正常的吗?还是 Nodejs 应该以更“简单”的方式处理这些命中?如果我使用Mongoose,性能可以提高吗?

如果您对 MongoDb 感到好奇,它使用了大约 4% 的一个内核,这对我来说很好(没有放置索引,使用率约为 50%+,但至少,索引解决了这个性能问题)。

非常感谢您的耐心,干杯。

编辑:

进行插入的代码如下所示: db.open(function(err, db) { });

0 投票
3 回答
6062 浏览

javascript - Unique index not working with Mongoose / MongoDB

I've got a problem with creating unique indexes using Mongoose / MongoDb and can't get it to work. I'm able to add two documents with the same attribute values when I have set a unique index.

I've tried everything I can think of - restarting (everything) changing the syntax etc.

Code

Addtion >>

This is the method that I'm using to save an entity:

<<

Mongo output

When I checked in MongoHub the indexes don't appear, so they don't look like they have been created.

This is a duplicate of this question, but it doesn't have an answer that works for me.

0 投票
1 回答
4048 浏览

javascript - 猫鼬问题:未定义架构

嘿伙计们,我一直在尝试使用猫鼬和节点,但即使是最简单的运行我也遇到了一些问题......我有这个代码:

哪个应该运行,因为它是一个示例代码......但我有这个错误:

你们有谁知道这有什么问题吗?谢谢。

0 投票
1 回答
1331 浏览

mongodb - 递增对象不起作用(猫鼬,node.js,express,mongodb)

我在这里提交了这个应用程序

基本问题是,在 server.js @ line 234 中,我有一个方法可以增加参数对象中的计数器。这不起作用 - 您可以在 models.js 中查找适当的数据模型。

在第 242 行,我对枢轴对象中的计数器进行了另一个增量,它是参数对象中的文档数组。在这里,设置相同的计数器工作 - 我不确定我在这里做错了什么。

编辑:从 github 添加代码

数据模型

Route Pre-Param 条件

重定向

一些调试

console.dir(req.record.counter) 好像输出了父对象,counter显示为[Circular]。

在上面参数的枢轴 'gmail' 上运行 console.dir(req.pivot.counter) 返回。在这种情况下,计数器递增并显示成功

0 投票
2 回答
3343 浏览

mongodb - Mongoose 说我有 46 条记录,mongoDB 说我有 0 条记录?

以下测试脚本说我有 46 条记录:

输出:

而如果我尝试使用 mongo shell 读取电线,我会得到一个不同的故事:

我的记录藏在哪里?

0 投票
4 回答
104568 浏览

mongodb - 如何在 Mongoose 中查询不同的值?

我有一个问题,我希望能够获得一个集合的所有独特城市,我的代码看起来像这样:

在本机 MongoDb 中,我可以做db.person.distinct("born_in_city"),但似乎没有任何与 Mongoose 等效的东西。唯一的选择是自己遍历所有文档以执行此操作,还是有更好的解决方案?

为了尝试node-mongodb-native按照回答者的建议使用底层,我尝试这样做:

但是它results是空的并且没有错误。我还希望能够仅按名称获取所需的集合,而不是尽可能过滤collections返回的内容。

0 投票
1 回答
974 浏览

express - 快递+猫鼬登录

嘿,我想在 Express + Mongoose 中创建一个登录系统。

我设法在 HTML 中创建了一些虚拟页面,该页面将用户名和密码读取为输入,并使用主干将其发送到服务器(快递),该服务器接受输入并在数据库中搜索具有相同用户名和密码的某些条目(使用猫鼬)。

到目前为止一切正常,现在我的问题是:我如何确保我的用户已连接?我的意思是,我现在可以将我的用户重定向到另一个页面,因为我检查了用户名和密码是否匹配,但是如果用户已登录,我希望有例如“Hello username”,或者如果用户是“login”未记录。在 PHP 中真的很容易,但是如何使用 Express 来做到这一点?

谢谢

马夏尔

0 投票
2 回答
8070 浏览

mongodb - MongoDB按“数字”升序排列

我正在尝试使用 mongoose 和 MongoDB 创建一个注册表单。我有一个唯一的键 UserId,每次创建新条目时,我都想取数据库中最大的 UserId 并将其加一。我试过了,db.user.find({}).sort({userId: 1});但它似乎不起作用。谢谢

马夏尔

0 投票
6 回答
24511 浏览

mongodb - Node + Mongoose:获取最后插入的 ID?

我想检索最后插入的_id,使用 mongoose 作为 node.js 的 MongoDB 包装器。我找到了以下教程,但我无法更改任何节点模块,因为该应用程序在公共服务器上运行:

获取“最后插入的 ID”(提示 - 你必须破解 Mongoose)

还有其他想法吗?这是我想做的:

  • 插入新用户
  • 获取用户_id价值
  • 根据用户 id 设置新会话
  • 重定向到 /

谢谢!

0 投票
4 回答
16475 浏览

asynchronous - 如何在 Mongoose 虚拟属性中使用异步代码?

我正在尝试将不同集合中的文档(不是嵌入式文档)关联起来,虽然在 Mongooose 中存在问题,但我现在正试图通过延迟加载具有虚拟属性的关联文档来解决它,如记录在猫鼬网站

问题是虚拟的 getter 将函数作为参数并使用虚拟属性的返回值。当虚拟不需要任何异步调用来计算它的值时,这很好,但是当我需要进行异步调用来加载其他文档时不起作用。这是我正在使用的示例代码:

这不起作用,因为函数在异步调用完成之前返回。有没有办法可以使用流控制库来完成这项工作,或者我可以修改第一个函数,以便将 findById 调用传递给 getter 而不是匿名函数?