问题标签 [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 - 对象的猫鼬最佳实践
我有一个user.js文件,其中包含我所有的猫鼬模式和方法,大致如下:
现在,最好公开对数据建模的函数吗?像这样:
还是User
像这样只公开要在其他地方使用的对象?
我还面临来自第二种解决方案的问题,假设我想向 my 添加汽车列表userSchema
,并且汽车模式在另一个文件car.js中定义,那么这意味着我必须carSchema
为我的用户公开.js文件,对吗?这意味着我实际上取消了我上面提供的第二种解决方案,那么,做这种事情的正确方法是什么?
node.js - Mongoose 自定义模式类型日期间隔
我的文档中有许多日期间隔类型的字段,例如
为了减少代码的重复并使其更易于维护,如何创建自定义 Mongoose 类型,例如DateInterval,包含两个字段:
- 开始
- 结尾
并包含确保两个字段都填写的验证器,并且开始在结束之前?
mongoose - 定义 Mongoose 架构时应该使用 Schema.Types.ObjectId 还是 Schema.ObjectId
似乎以这种方式定义我的架构:
或者这样:
两者都有效。我看到猫鼬指南使用 Schema.Types.ObjectId
http://mongoosejs.com/docs/schematypes.html
但我很困惑两者都有效。
Schema 应该使用哪一个?两者有什么区别?
node.js - 猫鼬和节点 js 插入/发布数据
我正在使用 node.js、expressjs 4 和猫鼬。我的猫鼬shema是:
我怎样才能发布一些数据?我尝试在 POSTMAN 中使用 raw 但不起作用!有什么想法吗?
对于我的控制器:machine.js
};
}; export.getMachine = 函数(请求,资源){
};
};
};
};
export.deleteMachines = 函数(请求,资源){
};
mongodb - Mongoose 变量架构参考
我正在寻找拥有引用可变子模型的父模型的最佳方法。有没有办法在保存父模型时设置参考,然后让它自动填充子模型?如果没有,实现具有可变子字段的父模型的最佳方法是什么。
node.js - node.js 服务器是否需要互联网连接才能运行?
我禁用互联网连接并运行节点服务器npm start
,然后它抛出错误:
现在启用互联网连接并运行服务器工作正常:
所以,我想确认这是否真的需要在启动服务器时连接到互联网?
如果它真的需要互联网连接,那么有什么想法可以离线运行服务器吗?
如果我连接到互联网并运行服务器并在拔出互联网连接后运行服务器,那么就没有任何问题。一切正常。我不知道为什么只运行服务器需要互联网连接。
mongodb - MEAN Stack:连接表
我是 Mean Stack 工作流程的新手,我的背景依赖于 MySql 模式。
我正在创建一个小应用程序来提高我的技能,我遇到了一个逻辑问题。
我创建了两个模式:用户模式和票证模式。现在我必须在两个 Schema 之间的关系中保存额外的信息:在 MySql 中,我使用了联结表(在Laravel案例中为 user_tickets)我可以在其中存储,例如,当用户打开票证时,或者如果用户隐藏了车票之类的……
在 Mongoose 和 Mean Stack 世界中,我找不到解决方案。现在我创建了第三个模型UserTickets,但维护第三个模型有问题且成本高昂。
我错了吗?还有其他更简单的方法吗?
mongodb - 将子文档添加到现有的 mongodb 文档
本质上,我只是想将一个新的子文档添加到我现有的具有以下架构的 mongodb 文档中
/models/server/destination.js
/server/models/adventure.js
发布到冒险的 REST 路线
/server/controllers/controller.js
当我从代码中取出冒险时,destination.adventures.push()
代码不会中断,但是当我插入冒险时,我得到一个错误
mongodb - 在 mongoose 中引用模式(不是特定文档)
请注意,这不是 this、this、this 的副本,因为我需要的不是对另一个集合中的文档的引用,而是对集合本身的引用。
我正在使用mongoose-schema-extend为内容创建层次结构。
假设我有这个:
现在,我想创建另一个模式,它是内容的子类型,但代表一组内容,如下所示:
因此,content
此模式的属性应该是对任何其他模式的引用。
可能吗?
mongoose - 如何填充对存储为同一父文档的子文档的子文档的引用
哇,这个标题好难读。好的,我被困在应该非常简单的事情上。我有一个看起来像这样的模式:
而且,TrackedVariableSchema 看起来像:
每个 Challenge 对象都维护一个 TrackedVariables 的内部列表。(“TrackedVariable”只是我们要为该挑战跟踪的数据的数据定义,但这不是很重要。)我更愿意将 TrackedVariables 作为其父挑战的子文档数组。我宁愿不把它们放在自己的收藏中。
我的例子有点晦涩,因为这些实体名称没有直观的意义,但希望你能看到我想要做什么。
当我 findById() 单个 Challenge 对象并希望查看每个条件的每个 TrackedVariable 的标签时,问题就出现了。像这样的东西:
当然,没有填充 TrackedVariables,所以我得到类似的东西:
这不行,因为我需要生成一个如下所示的列表:
挑战赛报名要求:
没问题。只需使用 populate(),对吗?
我也是这么想的。而且,如果 TrackedVariables 存储在他们自己的集合中(而不是作为挑战的内部子文档),那么这很好。但是,我尝试过的任何方法都不会给我挑战对象,其中每个 entryCondition 都填充了 TrackedVariable。
我已经尝试了几乎所有我能想到的以下排列:
无论我按照这些思路做什么,trackedVar 始终评估为 id 或 null(取决于我尝试的内容)。我怀疑这与以下事实有关:在响应中,trackedVariables 集合已经完全填充。而且,要在 entryConditions 集合中复制这些数据,将是……嗯……重复。
我真的很难过。似乎它应该是微不足道的。