问题标签 [mongoose-schema]

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 投票
0 回答
85 浏览

node.js - 如何在 mongoose 模式字段声明中将 mongo 文档设为只读?

createdDate我希望仅在插入文档时才能设置实体字段。更改字段的所有其他尝试都应静默通过,而不更改字段值。

0 投票
1 回答
2084 浏览

node.js - 将哈希图保存到猫鼬?

我有这样的架构

将项目作为一个大列表我决定将其设为哈希映射以更快地访问它。

当我遇到每个新项目时,我正在遍历一堆我正在解析和存储的 html。

即使我没有错误。我的数据没有保存。这是因为我的新商品没有 _id 吗?我用 _id 试了一下,还是没有保存。

0 投票
1 回答
2168 浏览

mongodb - Mongoose Mongo 2dsphere geoWithin

在阅读了许多与我非常接近的问题并阅读了 MongoDB 文档和 Mongoose 文档之后,我仍然无法回答我的问题。

在节点 4.4.0 上使用 express 4.13.4、mongoose 4.4.10、mongodb 2.1.14

我的猫鼬位置架构:

我的CatalogModel架构(我写给 Mongo 的内容):

我创建了一个具体的示例并写入 MongoDB(这很好......因为我可以在 Mongo 中查询它)

在 Mongo 中,我向集合询问了索引:

这就是它所说的(不完全确定这意味着什么)

我可以做一个db.catalogmodels.find()并取回我的文件。

我什至可以在 Mongo 中调用 $geoWithin:

但这是实际的问题

Mongoose 一直告诉我[错误:无法使用 $geoWithin]

我还将 .find().where().within() 调用替换为:

Mongoose 不喜欢 $geoWithin 调用是否有原因?最新的 API 说这应该可以。

0 投票
1 回答
1998 浏览

javascript - 无法通过 Express 路由从 Mongodb 中删除文档

我想通过 id 删除一个 Mongodb 文档,将其传递给 Express 路由。
在控制台中,我收到一条消息,说它已被删除。

但事实并非如此。

我的 Angularjs 工厂:

我的 route.js

app.get功能在这里运行良好。
有什么问题app.delete

这是我的数据库架构models/mydb

0 投票
2 回答
65 浏览

mongoose - 如果我已经完成了架构,如何创建添加到我的数据库中的用户?

我在 ./models 中有这个文件

我想知道如果我有一个包含注册表单的页面,我将如何继续创建用户以添加到我的数据库中。

我知道我必须做的与 server.js 中的一个函数有关,可能还有其他一些事情,但我不知道也没有找到任何帮助。

任何事情都值得赞赏!

编辑:我已经看过这个,但无法弄清楚他在什么/哪里添加了从注册表单到数据库的内容,或者使用 mongoose 与 mongo 时的区别是什么。 http://code.runnable.com/U108R8ihwn4m4TM5/user-creation-signup-and-login-with-express-4-and-mongodb-for-node-js

0 投票
1 回答
4070 浏览

node.js - 使用 FindByIdAndUpdate 更新文档

我有一个问题,MongoosefindByIdAndUpdate没有在回调中返回正确的模型。

我想TIMELINE.Description从用户文档更新属性:


0 投票
0 回答
809 浏览

mongodb - 如何处理 mongodb 集合中的“lastModified”字段?(只有当文档中的任何值发生更改时,该字段才会更新)

编辑(15/04/2016):根据在这个问题中收到的评论,我认为 mongodb 中没有直接的方法可以这样做。在那种情况下,是否可以使用 MongooseJS 做到这一点?


我正在使用 mongodb,对于一个集合,我需要一个“lastModified”字段,它应该显示最后一次实际修改文档的任何值的时间。这意味着,如果我进行了更新查询并且所有其他值都相同,则不应更新“lastModified”。

示例: 假设我在集合中有一个文档:

当我更新时

那么“lastModified”不应该改变

当我更新时

那么“lastModified”应该改变

如何做到这一点?

在我的情况下,我将多次调用更新操作,并且我不想在这种情况下每次都更改“lastModified”。相反,它应该仅在实际修改“状态”时才更改。

0 投票
1 回答
984 浏览

node.js - 将猫鼬模型包含在 node.js 文件中包含的单个 js 中吗?

我正在使用 mongo mongoose 创建节点应用程序。我有模型单独的文件,其中创建了所有数据模块,我想将所有数据模型配置为一个 js 文件,我们必须将其包含在 node.js 文件(server.js)中有 user.js

书籍.js

现在我想将这些 books.js 和 user.js 文件包含在一个 js 文件中,所以我创建了一个

模型.js

我在 server.js 文件中包含这个 model.js 文件

当我尝试运行此程序时,出现“找不到模型 books.js 和 user.js”的错误

我认为错误在model.js中所以你能纠正我吗?

0 投票
1 回答
130 浏览

node.js - 在数组之间移动子文档然后修改它时,猫鼬内存泄漏

这太古怪了。我可以通过移动一些代码来修复它……但我不知道为什么——为什么它一开始就坏了,或者为什么它修复了它。此代码的目的是将目标对象(使用Goal模式)从goalsInactive数组移动到goals用户的数组。下面的代码产生了内存错误并崩溃了:

mongoose/lib/document.js通过在路径更新时记录路径并意识到它正在创建无限路径,我意识到崩溃的原因是内存失控问题。可疑的原始路径如下所示:

我可以通过将代码更改为此来解决此问题:

(即在移动之前修改对象)。但我不知道为什么这确实有效!

我使用的是 mongoose 4.1.9,所以问题可能已经修复,但我对更新持谨慎态度,因为更新会产生类似的奇怪问题。值得注意的是,里程碑对象也有自己的猫鼬模式。

0 投票
0 回答
54 浏览

node.js - 在 mongodb 文档中添加子文档

我正在开发这个 Node.js 应用程序,我发现在处理 MongoDb 数据库中的数组和子文档时遇到了一些困难。

我需要添加这么多子文档,而以这种形式,它不能。有什么帮助吗?

这是我的模型文件:

这是我的控制器功能: