问题标签 [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.
node.js - 如何使用带有动态键的猫鼬模型模式?
我在 nodejs 中使用猫鼬,我需要创建一个动态模式模型,这是我的代码:
key = "user_name",但在我的数据库中我发现模型将其作为键
我能做些什么?谢谢你。
node.js - Mongoose 需要创建对象,但如果另一个对象已经具有该属性,则跳过该属性
我知道标题令人困惑,但让我更清楚地解释一下。
这是我的猫鼬模式的样子:
我编写了一些代码,将使用此模式创建 3500 个位置。问题是很多位置的twp
. 在这种情况下,我仍然需要它来创建对象,但twp
如果已创建的任何其他对象具有相同的twp
.
正如您在上面看到的,我尝试使用上面的独特方法。为了更清楚,这里有两个示例对象:
对象一:
如果我要创建一个具有 的新对象,twp: 001N
我希望它被创建,但看起来像这样:
在服务器 JS 中,我有一个包含 3,000 个对象的数组,我正在遍历这个数组,为每个项目创建一个 Location 对象,如下所示:
mongoose - 猫鼬预更新挂钩 - 更新文档不起作用
猫鼬 v4.4.7
我正在从另一个模型的控制器更新停车模型。我想在该更新之前进行第二次更新,但它似乎不适用于猫鼬钩子。
鉴于此查询...
我想做类似...
self.update 似乎没有做任何事情,我将 console.log(this) 添加到 pre update 挂钩并且它没有显示。
我究竟做错了什么?
也许无法在更新前/更新后挂钩中查询文档?
mongoose - Mongoose save() 在 findOne() 之前返回
我正在使用 Mongoose、Express 和 NodeJS 实施审批系统。
每个帖子有 2 组批准。
我已经实现了如下模型:
我试图首先在我的函数中找到映射,然后在保存时更新主帖子对象。
在保存新帖子之前,我需要检索两个批准者 ID。
请提出一个好的方法来解决它。我目前正在做:
- Save new Post object with Save //在第 2 步后返回,我知道在 Mongoose 中异步保存,但我不希望在此之前调用第 2 步
- 在 ApprovalMapSchema 上使用 findOne 获取批准者 ID
使用批准者条目更新 Post 对象。
post.save(function(err, doc) { if (err) {} else { console.log({success: true, msg: 'Successful created new post', content: doc}); } });
/li>
这对我不起作用。请帮忙!
node.js - 如何从猫鼬集合中检索模式?
使用这条线:
我得到了用户的集合,现在我需要从那个集合中获取模式吗?有没有办法做到这一点?谢谢你。
PS:我没有模型
node.js - mogoose中嵌套文档的不同类型是什么?
在调查猫鼬嵌套文档时,我发现它有多种方式。
如您所见,地址、元和图像字段是嵌套文档。对于地址字段,我创建了 addressSchema 字段和元字段,我在猫鼬中使用了混合类型。对于图像字段,我刚刚在 ProfileSchema 中定义了嵌套文档。
我使用了 3 种不同的方式,但我不知道它们之间有什么区别。
你能给我一个提示吗?提前谢谢。
node.js - 在 Node.js 中发生错误时保持在同一页面上
我是 Node.js 的新手。请给我一些解决方案。
我刚刚创建了注册表并发布了页面,并且我使用了 Mongoose 验证。如何保持在我发布请求的同一页面上,因为它显示带有错误消息的发布页面。
或者,如果我正在使用,
然后它在页面上显示完整的错误消息。但仍然在发布的页面上
node.js - 如何在 find() 期间限制数据库中不存在的猫鼬默认值
我有以下架构。
但是当我找到例如数据时
它总是返回
如何修改或添加任何特殊参数以获取没有test
字段且查询没有任何更改的数据,比如说
另外,我已经在模型中设置了默认值:test: "hello world"
但我不希望这个值出现在响应中。我也设置this.test = undefined;
了,这应该意味着它会阻止将此默认值添加到数据库中,但是我仍然收到此响应。
node.js - MongooseJS:从查询中隐藏特定文档
我有一个带有布尔类型激活字段的用户模式。我希望查询只返回具有activated: true
. 我希望有一种比为每个 find、findOne 或 findById 添加条件更有效和更干的方法。
什么是最有效的方法?
javascript - Mongoose 找不到从 ObjectId 中找到
我在许多其他模型中有同样的事情,但在这个不工作,有人能看出错误吗?
订单架构:
订单项目架构:
问题是当我尝试删除订单时,中间件预删除发生,console.log 显示正确的 ID,但删除未找到任何内容(之前使用 item.remove() 进行查找也没有结果)
如果我确实找到没有任何过滤器,它会给我所有的项目,包括具有特定订单的项目,但是当我尝试使用订单 ID 进行过滤时(这是正确的,我已经检查过)它总是返回一个空数组。
谢谢