问题标签 [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 投票
1 回答
177 浏览

mongodb - Verify that I am connected to my MongoDB via Mongoose?

I am trying to learn Node.js and using MongoDB.
I got an insert working correctly and can insert as many objects as I want, however I cannot seem to query them at all.
I have tried using every technique posted here and none of them return any of my objects.
I have verified via the Mongo console that the objects exist but I just can't query them and I am absolutely lost as to why.

Here is the current code I'm using to query:

Help?

EDIT
The above code returns "null".

0 投票
5 回答
7867 浏览

node.js - 如何等待所有异步调用完成

我将 Mongoose 与 Node.js 一起使用,并且有以下代码将在所有 save() 调用完成后调用回调。但是,我觉得这是一种非常肮脏的方式,并且希望看到完成这项工作的正确方法。

0 投票
6 回答
61120 浏览

javascript - 是否有猫鼬连接错误回调

如果猫鼬无法连接到我的数据库,我该如何设置错误处理回调?

我知道

但是有没有类似的东西

?

0 投票
1 回答
3285 浏览

mongodb - MongoDB & Mongoose:如何查找和删除大量文档。findAndModify(..... {remove:true})?

请耐心等待,因为我对 MongoDB 还很陌生,而 mongoose 是我与它的唯一互动。因此,如果我没有正确区分这两种技术或理解,请提前道歉。

我有一个基本上是日志的集合。每个日志项都是对我系统中的特定服务器进行状态检查的结果。当我删除服务器时,我还想删除所有关联的日志条目。最有效的方法是什么?我知道我可以找到具有特定服务器 ID 的所有日志项,然后遍历每个日志项并将其删除,但这似乎效率很低。我已经阅读了大部分 mongo 文档,看起来 findAndModify 是最好的方法,但我无法用 mongoose 弄清楚它的语法。有人可以帮助我吗?

我目前在猫鼬上使用最新版本,1.7.2

0 投票
1 回答
911 浏览

node.js - 在 Mongoosejs 中,如何检测和设置数据库连接超时丢失?

如果数据库连接丢失,节点会疯狂地寻找数据库连接。

那么,是否有一个选项可以设置连接重试次数,或者如果连接丢失则超时?并抛出错误..而不是继续循环并尝试连接

mongoose.connect(db_path);

0 投票
1 回答
1178 浏览

mongodb - Node.js 和 Mongoose,太慢了,无法将 Schema 定义放在单独的文件中?

玩弄 Node.js,我真的很想保持我的文件结构井井有条。通常在另一种语言的项目中,我会有这样的结构:

  • 节点应用目录
    • 应用程序.js
    • 控制器
      • 用户控制器.js
      • 其他控制器.js
    • 楷模
      • 用户模型.js
      • 其他模型.js

我看到的(潜在)问题是:我为我的数据库使用 Mongoose 和 MongoDB,为了定义一个“模型”我需要一个 Mongoose Schema,为此我必须在每个数据库中使用 Mongoose 连接到数据库控制器和模型文件。

我对这些技术知之甚少,这可能是闪电般的速度,永远不会成为问题,我也不知道。或者这是我应该避免的事情,只是把所有东西都放在一个(非常大的)文件中?

0 投票
6 回答
111967 浏览

mongodb - 如何更新猫鼬中的多个文档?

我找到了以下脚本:

MongoDB 具有用于更新多个文档的“multi”标志,但我无法使用 mongoose 进行此操作。这还不支持还是我做错了什么?

0 投票
3 回答
1746 浏览

mongodb - Node.js 上的 MongoDB '错误:检测到非 ascii 字符'

我正在尝试将大量数据解析到一个新的 MongoDB 数据库中,当我运行该作业时,我一直收到错误消息db.myCollection.find()
错误是error: non ascii character detected

我正在使用 Node.js 和 Mongoose 来填充数据库。我见过的唯一可能导致问题的字符是',-我已经对所有这些字符进行了 .replace 。我尝试转义它们(\),然后尝试完全删除它们,但似乎没有任何效果。

我最大的问题是我在保存对象时没有收到任何错误,我只是在尝试查看集合时收到该消息。

有没有关于清理 MongoDB 输入的信息?

0 投票
3 回答
7797 浏览

mongodb - 猫鼬加入数据

如果我的 MongoDB 中有一个对象需要在我的系统中的任何地方使用,那么它就在它自己的集合中。但是,我不太清楚如何让数据自动显示在它所连接的其他对象上。
这是一个例子:

现在我想要的是能够说出var name = mySchema2.name;并获得链接Schema1对象的名称。
我正在使用 Mongoose、Express 和 Node.js,并且我已经尝试为此使用 Mongoose 的“虚拟”,但是当我说res.send(myobject);我在对象的任何地方都看不到虚拟属性时。

做这个的最好方式是什么?

0 投票
1 回答
607 浏览

mongodb - 猫鼬“setter”表现得像“getter”?

将 Mongoose 与 MongoDB 和 Node.js 一起使用

以前我的 UserSchema 定义如下:

创建我的用户时,我加密了密码。然后我发现了“ setters ”并将我的 UserSchema 更改为:

我没有进行任何其他更改(我记得),当尝试使用用户登录时,我发现我的密码错误。当我查看数据时,从数据库发回的加密密码与存储在数据库中的密码不同。如果我从我的 UserSchema 中取出“setter”,它看起来是正确的。

现在我的问题是“setter”是这样描述的:

正如您在上面看到的,setter 允许您在数据到达原始 mongodb 文档并设置为实际键上的值之前对其进行转换。

对我来说,看起来这个 Setter 实际上就像一个 Getter 并在数据从数据库返回时对其进行转换。

我完全误解了这一点吗?