问题标签 [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 回答
564 浏览

mongodb - 如何使用 Mongoose 将嵌入文档从一个文档放入另一个文档?

我想要做的应该是直截了当的,但由于某种原因,我很难弄清楚这一点。我有以下 Mongoose 模式(简化)。

现在,我想做以下事情:

  1. 检索类别文档
  2. 查找特定的嵌入状态文档(基于请求参数)
  3. 将特定的嵌入状态文档分配给特定的 Book 文档。我想替换现有的图书状态,因为在任何给定时间,应该只为一本书设置一个状态。

这是我目前正在做的事情:

以上似乎运行良好,我没有收到任何错误。但是,新状态不会保存到文档中。下次我输出更​​新后的 Book 文档时,它仍然是旧状态。我对此进行了调试, find() 方法以及设置状态似乎都很好。

我现在唯一能想到的是,不知何故,我分配的状态值不是用 Mongoose 保存的正确格式。虽然,我希望那时会出现某种错误消息。

或者也许有更好的方法来做这一切?

0 投票
1 回答
551 浏览

mongodb - Node、Mongo 和 Mongoose 的新手问题

我正在尝试通过查看来自 GitHub 的代码来学习如何使用 Node、Mongoose 和 Mongo。

这条线的目的是什么:

来自:https ://github.com/cmarin/MongoDB-Node-Express-Blog/blob/master/postprovider.js

对我来说,这似乎是一个空函数。

0 投票
2 回答
3055 浏览

node.js - 导出模型函数时遇到问题(Express 和 Mongoose)

我一直在查看代码 (https://github.com/cmarin/MongoDB-Node-Express-Blog) 来学习 NodeJS、Express、Mongoose,但我无法从我的“models.js”中导入“轮询”函数' 文件,特别是 'save' 功能。

我收到以下错误:

它发生在我的 app.js 的第 54 行。我无法保存新的投票,因为它找不到函数: https ://github.com/kelper/Poll/blob/master/app.js

这是我的模型文件,保存功能在第 62 行: https ://github.com/kelper/Poll/blob/master/models.js

另一个快速的问题。如何排除文件被提交?我不断向我的仓库提交交换文件等。

如果您发现我的代码有任何其他问题,请告诉我。我知道有人提到我的命名约定令人困惑。我应该如何命名我的变量?

0 投票
2 回答
4400 浏览

mongodb - Mongoose 是否只支持数组中的嵌入文档?

我在 MongoDB 中有一些数据,如下所示:

我正在使用对象来组织常见的数据结构(如位置),在 Mongoose 中可能很好地映射到模式。不幸的是,它们似乎并没有真正在 Mongoose 中工作。

如果我只是嵌入一个对象,像这样:

它似乎工作,但表现出一些奇怪的行为,导致我的问题(例如instance.location.location返回location,和子对象从父模式继承方法)。我在 Mongoose 列表上启动了一个线程,但它没有看到任何动作。

如果我嵌入一个模式,像这样:

…我的应用程序没有启动(Schema不是 Mongoose 支持的类型)。同上

…无论如何,这并不理想。

我是否遗漏了某些东西,或者我的模式与 Mongoose 不兼容?

0 投票
2 回答
653 浏览

javascript - express.js + mongoose:回退不正确的 ID?

我将 express.js 与 mongoose 一起用于 mongoDB 访问。如果有人输入了一个不存在的 url(基于 user_id),我尝试实现一个后备。这是代码:

当访问http://foo.bar/track/1234并且 1234 不存在时,它应该打印出 FAIL!,如果 id 存在它应该从数据库中获取它的内容(这实际上有效)。这是我现在输入不正确的 id 时得到的结果(应用程序崩溃):

0 投票
6 回答
88659 浏览

mongodb - 如何从 find 方法返回 Mongoose 结果?

我能找到的所有用于渲染带有猫鼬结果的页面的东西都说要这样做:

我怎样才能从查询中返回结果,更像这样?

这样我就可以获得多个结果以在页面上发布?

喜欢:

这可以做到吗?

0 投票
2 回答
2142 浏览

mongodb - 搜索嵌入文档 Mongoose + nodejs

我是 Mongoose 的新手,我在搜索时遇到了问题。

这些是我的架构:

评论有很深的嵌套。当有人回答现有评论时,我怎样才能找到那个?

0 投票
2 回答
942 浏览

mongodb - 在 Mongo CLI 中使用修饰符操作符进行更新有效,但不适用于使用 mongoose 的 node.js 代码

使用 CLI 连接到我们的 Mongo 实例,您可以很好地使用更新修饰符运算符:

db.users.update({nickname: 'mcoalson'}, { "$addToSet" : { room_ref : "b"}}) db.users.update({nickname: 'mcoalson'}, { "$addToSet" : { room_ref:“c”}})db.users.findOne({nickname:'mcoalson'}){“_id”:ObjectId(“4de5e9e982e9556c2a000003”),“昵称”:“mcoalson”,“room_ref”:[“a” , "d", "b", "c"] }

但是,在同一文档的 node.js 中执行完全相同的操作没有结果。

“room_ref”:[“a”、“d”、“b”、“c”]

显然“b”没有被删除,“f”也没有被添加。我已经尝试了我能想到的所有可能的报价方案,但没有任何改变。我可以使用 node.js 代码中的 find() 和 findOne() 并且使用相同的凭据,有什么建议吗?

0 投票
2 回答
7958 浏览

javascript - Node.JS / Express / Mongodb/Mongoose 简单连接问题

您好:我是 Node/Mongo/Express 等的新手,并试图通过 mongoose 建立与 mongodb 的简单连接。此时我只是试图建立连接但收到错误:


任何帮助深表感谢。这是我的代码:

0 投票
2 回答
8066 浏览

javascript - Mongoose 数据库连接和架构

您好:我很难在线查找如何使用 mongoose 和 node.js 执行简单的数据库连接、模式创建和基本 CRUD。现在我有以下代码,但收到错误:

“类型错误:对象不是函数

在 Schema.CALL_NON_FUNCTION_AS_CONSTRUCTOR(本机)..”