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

node.js - 如何使用带有动态键的猫鼬模型模式?

我在 nodejs 中使用猫鼬,我需要创建一个动态模式模型,这是我的代码:

key = "user_name",但在我的数据库中我发现模型将其作为键

我能做些什么?谢谢你。

0 投票
1 回答
268 浏览

node.js - Mongoose 需要创建对象,但如果另一个对象已经具有该属性,则跳过该属性

我知道标题令人困惑,但让我更清楚地解释一下。

这是我的猫鼬模式的样子:

我编写了一些代码,将使用此模式创建 3500 个位置。问题是很多位置的twp. 在这种情况下,我仍然需要它来创建对象,但twp如果已创建的任何其他对象具有相同的twp.

正如您在上面看到的,我尝试使用上面的独特方法。为了更清楚,这里有两个示例对象:

对象一:

如果我要创建一个具有 的新对象,twp: 001N我希望它被创建,但看起来像这样:

在服务器 JS 中,我有一个包含 3,000 个对象的数组,我正在遍历这个数组,为每个项目创建一个 Location 对象,如下所示:

0 投票
1 回答
2558 浏览

mongoose - 猫鼬预更新挂钩 - 更新文档不起作用

猫鼬 v4.4.7

我正在从另一个模型的控制器更新停车模型。我想在该更新之前进行第二次更新,但它似乎不适用于猫鼬钩子。

鉴于此查询...

我想做类似...

self.update 似乎没有做任何事情,我将 console.log(this) 添加到 pre update 挂钩并且它没有显示。

我究竟做错了什么?

也许无法在更新前/更新后挂钩中查询文档?

0 投票
2 回答
478 浏览

mongoose - Mongoose save() 在 findOne() 之前返回

我正在使用 Mongoose、Express 和 NodeJS 实施审批系统。

每个帖子有 2 组批准。

我已经实现了如下模型:

我试图首先在我的函数中找到映射,然后在保存时更新主帖子对象。

在保存新帖子之前,我需要检索两个批准者 ID。

请提出一个好的方法来解决它。我目前正在做:

  1. Save new Post object with Save //在第 2 步后返回,我知道在 Mongoose 中异步保存,但我不希望在此之前调用第 2 步
  2. 在 ApprovalMapSchema 上使用 findOne 获取批准者 ID
  3. 使用批准者条目更新 Post 对象。

    post.save(function(err, doc) { if (err) {} else { console.log({success: true, msg: 'Successful created new post', content: doc}); } });

    /li>

这对我不起作用。请帮忙!

0 投票
1 回答
107 浏览

node.js - 如何从猫鼬集合中检索模式?

使用这条线:

我得到了用户的集合,现在我需要从那个集合中获取模式吗?有没有办法做到这一点?谢谢你。

PS:我没有模型

0 投票
1 回答
41 浏览

node.js - mogoose中嵌套文档的不同类型是什么?

在调查猫鼬嵌套文档时,我发现它有多种方式。

如您所见,地址、元和图像字段是嵌套文档。对于地址字段,我创建了 addressSchema 字段和元字段,我在猫鼬中使用了混合类型。对于图像字段,我刚刚在 ProfileSchema 中定义了嵌套文档。

我使用了 3 种不同的方式,但我不知道它们之间有什么区别。

你能给我一个提示吗?提前谢谢。

0 投票
1 回答
992 浏览

node.js - 在 Node.js 中发生错误时保持在同一页面上

我是 Node.js 的新手。请给我一些解决方案。

我刚刚创建了注册表并发布了页面,并且我使用了 Mongoose 验证。如何保持在我发布请求的同一页面上,因为它显示带有错误消息的发布页面。

或者,如果我正在使用,

然后它在页面上显示完整的错误消息。但仍然在发布的页面上

0 投票
3 回答
2215 浏览

node.js - 如何在 find() 期间限制数据库中不存在的猫鼬默认值

我有以下架构。

但是当我找到例如数据时

它总是返回

如何修改或添加任何特殊参数以获取没有test字段且查询没有任何更改的数据,比如说

另外,我已经在模型中设置了默认值:test: "hello world" 但我不希望这个值出现在响应中。我也设置this.test = undefined;了,这应该意味着它会阻止将此默认值添加到数据库中,但是我仍然收到此响应。

0 投票
2 回答
247 浏览

node.js - MongooseJS:从查询中隐藏特定文档

我有一个带有布尔类型激活字段的用户模式。我希望查询只返回具有activated: true. 我希望有一种比为每个 find、findOne 或 findById 添加条件更有效和更干的方法。

什么是最有效的方法?

0 投票
0 回答
227 浏览

javascript - Mongoose 找不到从 ObjectId 中找到

我在许多其他模型中有同样的事情,但在这个不工作,有人能看出错误吗?

订单架构:

订单项目架构:

问题是当我尝试删除订单时,中间件预删除发生,console.log 显示正确的 ID,但删除未找到任何内容(之前使用 item.remove() 进行查找也没有结果)

如果我确实找到没有任何过滤器,它会给我所有的项目,包括具有特定订单的项目,但是当我尝试使用订单 ID 进行过滤时(这是正确的,我已经检查过)它总是返回一个空数组。

谢谢