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

javascript - mongoose 插件抛出错误:MissingSchemaError: Schema has not been registered for model "Appointment"

我无法解决猫鼬投掷错误的问题

我包括了所有路径,根据我的另一个模式检查了它,一切似乎都很好。我错过了什么吗?

快递.JS:

APPOINTMENT.SERVER.MODEL.JS:

约会.服务器.控制器.JS:

APPOINTMENT.SERVER.ROUTES.JS:

错误似乎是说我没有创建AppointmentSchema,我在 APPOINTMENT.SERVER.MODEL.JS 中做了:

0 投票
2 回答
4332 浏览

node.js - 验证 Mongoose Schema 并显示自定义错误消息的最佳实践

我已经开始学习 Node.js,而让我有点困惑的一件事是 Schema 验证。

验证数据并向用户显示自定义错误消息的最佳实践是什么?

假设我们有这个简单的模式:

我希望注册用户拥有独特的电子邮件,因此我已将其添加unique: true到我的架构中。现在,如果我想向用户显示错误消息,说明他为什么没有注册,我会收到如下响应:

这有点混乱,我想显示发送到客户端,如下所示:

如何做到这一点?

0 投票
2 回答
297 浏览

javascript - 在另一个模型中引用/填充猫鼬模型时遇到问题

背景:允许用户发布投票的应用程序。
我在 User 模型中填充对 Polls 模型的引用时遇到了一些麻烦。我正在使用 mongoose.populate 来尝试填充民意调查。在我的路线中,填充功能无法正常工作(返回的用户为空)。这是我的模型...

users.js:

投票.js:

这是我要在...中实施人口的路线

任何帮助、建议、想法将不胜感激。谢谢。

0 投票
0 回答
280 浏览

node.js - NodeJS Mongoose 不保存数据

我的系统每小时会创建大约 30 个集合。我的服务器在一小时内收到数千个请求。我有大数据和多个集合。我使用 MongoDB-NodeJS 来保存数据。

paritemodel.js 中 pariteModel 类的 modelControl 函数 -如下代码- 我确实检查此模式是否是之前创建的。我将创建架构或使用创建的架构。

第一个集合创建和保存数据到 MongoDB。但是当创建另一个集合时它没有做。例如:

EURJPY_20160107_ 16集合已创建,但 EURJPY_20160107_ 17集合未创建。我在 modelparite.js检查了 mongoose.models,创建了 EURJPY_20160107_17,但从EURJPY_20160107_17 创建的实例未保存到数据库。

我的服务器文件是这样的:

app.js文件是我的引导文件:

这是我在 app.js 中调用的 mongo.js 此文件用于将数据保存到 mongodb:

这是我在 mongo.js 中调用的模型modelparite.js文件。此文件用于使用 Mongoose 创建模式:

0 投票
0 回答
25 浏览

javascript - Mongo/MongooseJS 对象模型无法正确保存

我的架构设置为它的字段之一:

我在几个例子中注意到了这一点;如果记录中已经有一个对象plan,那么当我做这样的事情时:

当我这样做时,记录不会更新。这只发生在doc.plans对象中已经有东西的情况下;我可以设置一次,然后不再更改。

我在这里做错了什么,我该如何纠正?

0 投票
1 回答
1789 浏览

node.js - Mongoose 对象中的虚拟是未定义的?

我最近一直在学习 MongoDB 和 Mongoose,以努力学习 MEAN 堆栈。使用本课程:https ://www.edx.org/course/introduction-mongodb-using-mean-stack-mongodbx-m101x我正在尝试为我的产品架构创建一个虚拟的,以更加用户友好的方式显示价格方法。但是,当打印出这个虚拟时displayPrice,它会显示为未定义,除非通过访问,否则toObjectUSDtoJSON符号会显示为问号。对于任何愚蠢和明显的疏忽,我深表歉意,我是这个数据库的新手,找不到很多简单解释事情的教程。

这是代码:

输出:

0 投票
1 回答
2687 浏览

node.js - 每个用户的单独猫鼬模式

我是nodejs的新手。我有一个带有猫鼬和用户登录的应用程序。mongoDB 中的一些集合是针对所有用户的,而有些集合是针对个人的,例如客户集合是个人的,因此所有用户都有自己的客户集合。当用户登录并获得他的 jwt-token 时,各个 mongoose 模型将被实例化:

在文件夹 /models 中有一个 index.js:

文件 /models/customermodel.js:

当客户从两个不同的浏览器登录并返回错误时会出现问题:123customer编译后无法覆盖模型。我通过改变解决了这个问题:

到:

现在我的问题是整个设置是否过于复杂,是否有更简洁的方法来处理以动态方式创建模型?

0 投票
0 回答
421 浏览

mongodb - 猫鼬 Pre 中的 FindOne

问题

我的目标是在我的收藏子集中拥有一个独特的字段。特别是产品艺术中的序列号应该是唯一的。因此,如果艺术不同,则可能有两个相似的序列号,但如果艺术相同,则只有一个。

检查我是否想使用mongoose pre middleware(如果没有更好的解决方案schema level)。

种植体.schema.coffee

种植体.模型.咖啡

问题是那ImplantModel似乎是{}在那个时候。我也尝试过this.constructor.findOne这里提到的如何从 Node.js / Express 应用程序中的 Mongoose 预挂钩中查询?这给了我findOne is not a function

我可以在调用.save方法之前执行查询,但我想钩子会是更好的地方。

0 投票
1 回答
7357 浏览

node.js - 在 Mongoose 和 Joi 之间只维护一个模式的最佳方法

我正在使用 Hapi 开发 Web 服务,Mongoose 作为 ODM,Joi 作为验证器。我真的很喜欢 Joi 的验证以及它与 HAPI 连接的方式(我需要 Joi 的描述函数来大摇大摆地显示一些描述),但我不想维护两种模式,一种用于 Joi,一种用于猫鼬;我想使用 Joi 定义我的模式,然后只能导出 Mongoose 所需的基本模式。例如:

mySchema.js

myValidator.js

myModel.js

myHapiRoute.js

我想避免维护mySchema.js文件完全从 Joi 的模式生成它的麻烦。

关于如何做到这一点或任何不同的方法的任何建议?

0 投票
6 回答
106467 浏览

node.js - 具有一对多关系的 Mongoose 文档引用

我正在为一个新项目设计数据库结构,而且我对 MongoDB 很陌生,显然是 Mongoose。

我已经阅读了 Mongooses人口文档,其中它具有一对多的关系,一个Person文档对多个Story文档,但让我感到困惑的部分是,而不是Story引用Person它所属的文档的文档,Person架构有它设置所以它有一系列Story它“拥有”的文件。

我正在设置与此非常相似的东西。Story但我一直认为在创建新文档以拥有Person文档 ID时会更容易。但也许那只是因为我更熟悉使用连接的 MySQL 关系。

如果这是最好的方法(我确信它是,因为它在文档中),当创建新文档时,更新它所属Story的相关文档中的故事数组的最佳方法是什么?People我查看但找不到任何更新现有文档以添加对其他文档的引用(或为此删除它们)的示例

我确信这是一个我刚刚忽略的简单解决方案,但任何帮助都会很棒。谢谢!