问题标签 [mongoose-models]

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 回答
266 浏览

node.js - 获取 Mongoose 模型的(关联)数组

您可以像这样检索 Mongoose 模型:

让 User = mongoose.model('User');

我正在寻找这些模型的关联数组。是否有一些巧妙的方法可以使用对象解构来获取模型列表?就像是:

我目前的解决方案是这样做:

index.js 看起来像:

user.js、employee.js 和 manager.js 文件如下所示:

然后我可以这样做:

但我正在寻找一种更好的解决方案,如果可能的话不需要手动工作。

0 投票
1 回答
5217 浏览

typescript - Typescript 中的 Mongoose 静态模型定义

我创建了一个 Mongoose Schema 并为模型添加了一些静态方法,名为 Campaign。

如果我 console.log Campaign 我可以看到上面的方法。问题是我不知道在哪里添加这些方法,以便 Typescript 也知道它们。

如果我将它们添加到我的 CampaignModelInterface 中,它们仅可用于模型的实例(或者至少 TS 认为它们是可用的)。

campaignSchema.ts

我也尝试通过 Campaign.schema.statics 访问它,但没有运气。

谁能建议如何让 TS 知道模型上存在的方法,而不是模型实例?

0 投票
1 回答
231 浏览

node.js - 使用没有模式参数的 mongoose.model

我正在学习这个 Node ToDoList App API 教程。它有一个模型、一个控制器和一个路由文件: https ://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd

回购: https ://github.com/generalgmt/RESTfulAPITutorial

在模型中,我们使用mongoose来定义TaskSchema并导出mongoose.model('Tasks', TaskSchema);

在控制器中,我们创建一个 Task var,设置为 equalmongoose.model('Tasks', TaskSchema);并使用它来定义几个控制器方法。

server.js 需要模型中的任务,但似乎从未将它用于任何事情。服务器还需要路由文件,而路由文件又需要控制器,但我无法看到它们如何与模型交互。

应用程序的其余部分如何了解模型?控制器如何知道 Task 的架构?这都是猫鼬的魔法吗?

0 投票
1 回答
1413 浏览

node.js - Mongoose : 引用其他模型的类型

我有这个:

模型/record.js

模型/address.js

模型/国家.js

它实际上显示了这个错误:

TypeError: Undefined type Modelatcountry 你尝试嵌套模式吗?您只能使用 refs 或数组进行嵌套。

我正在尝试创建一个模型,其中少数类型是另一个模型。如何存档?

0 投票
1 回答
2586 浏览

node.js - 使用打字稿创建猫鼬模型 - 子文档

我正在使用本文中概述的 typescript 实现猫鼬模型:https ://github.com/Appsilon/styleguide/wiki/mongoose-typescript-models并且不确定当您使用数组时如何转换的子文档。假设我有以下模型和模式定义:

将新宠物添加到 user.pet 子文档的代码:

查看链接后,这似乎是处理子文档所需的理想方法。但是,这种情况似乎会导致抛出 CasterConstructor 异常:

使用上面链接文章中概述的猫鼬模型时,它是处理子文档的正确方法吗?

0 投票
1 回答
1683 浏览

node.js - Mongoose 模型数据未在 mongodb 中更新

我是 node.js 和 mongodb 的新手。我将 express 用于 rest-api。

我正在尝试创建一个用户可以发布和喜欢的 API。我能够创建发布 API,问题在于类似 API,用户可以点击类似按钮,它会被计算在内,当他再次点击类似按钮时,它将在后端服务器中与不同并更新相同( express 和 mongodb)在我的情况下。

模式定义

代码:

问题是当我第一次喜欢该帖子时,它可以完美运行并返回预期的响应。

img:喜欢-响应-img

当我通过调用相同的 API 与帖子不同时,它会返回一些意想不到的结果。从 likes 属性中删除了不喜欢的用户,但计数仍保持为“1”,如下图所示。我想不通为什么?有人可以指出我在哪里以及我做错了什么。提前致谢!

img:unliked-response-img

0 投票
1 回答
746 浏览

node.js - Mongoose:在 Model.remove() 中设置单个选项

文档说明了Model::remove()方法:

从集合中删除所有符合条件的文档。要仅删除符合条件的第一个文档,请将单个选项设置为 true

问题是如何设置这个选项?

我试过了:

1) Model.remove({code: 55, single: true }, function (err, deleted) {...— 没有结果,因为正如我所料,single在这种情况下被视为一个不存在的字段;

2) Model.remove({code: 55}, {single: true }, function (err, deleted) {TypeError: callback.apply is not a function.

我是猫鼬初学者,在此先感谢您的帮助。

0 投票
0 回答
318 浏览

javascript - 导出 Mongoose 模型时收到“TypeError:用户不是构造函数”错误

我知道这个错误已经被多次询问和回答,但是在筛选了所有前面提到的修复后,我仍然无法找出我的代码中的错误。

模型/index.js

模型/users.js

路线/signup.js

我在尝试创建新用户的那一行收到“TypeError:用户不是构造函数”。

这是我的第一个 MongoDB/Mongoose 应用程序,欢迎提供任何帮助。谢谢!

0 投票
2 回答
528 浏览

express - 创建包含对象数组的猫鼬模式

如何创建具有以下结构的猫鼬模式

0 投票
1 回答
1275 浏览

node.js - Mongoose Model.findOne 不是函数

模型有问题。试图做 a model.findOne(),但我不断收到错误

TypeError:User.findOne 不是函数

我有这样的模型设置:

我将它导入到我要查找用户的文件中:

无论如何,我得到了错误。我试过.findById().findOne()

有什么我想念的吗?