Tag: 模式

Mongoose:当文件不存在时,在必填字段中设置默认值

我试图设置一个默认值在一个空的字段中保存在MongoDB中的文档 就我而言,这是mongoose模式 var Distribution = new Schema({ temporalCoverage : { startDate : { type: Date, default: Date.now }, endDate : { type: Date, default: Date.now } }, distributionText : String }); 这是要保存的文件: "distribution": { "temporalCoverage": { "endDate": "", "startDate": "" }, "distributionText": "test" } 在这个文档中,空字段是endDate和startDate。 该文档保存在mongoDB中,为空值。 "distribution": { "temporalCoverage": { "endDate": null, "startDate": null }, […]

带有2个(或更多)模式types的mongoose数组

基于这个问题的答案, 在Mongoose中嵌套数组 我想知道是否有一种方法来在一个mongoose模式,只接受两种types的模式定义的文件作为数组中的元素的数组中的数组。 这是什么意思? 考虑一个模式定义为… var MyDocSchema = new Schema({ name: String, stuff: [Stuff], }); 东西被定义为 var Stuff = new Schema({ name: String, value: Number, }); 这有效,但是如果我想要我的东西:数组能够包含东西或其他的东西…. var MyDocSchema = new Schema({ name: String, stuff: [Stuff *or* OtherStuff ], }); 其中Stuff与之前相同,而OtherStuff被定义为 var OtherStuff = new Schema({ count: Number, when: Date, });

使用node.jsvalidationXML语法/结构

我想validation下面使用node.js的XML。 任何人都可以提出一个好的node.js模块,可以在Windows / Linux上工作吗? validationXML语法 validationXML结构(模式) 提前致谢。

用JSON-Schema定义一个模式并使用Mongoose?

你好,我有一个关于mongoose的症结。 有一种使用Mongoose Schema的JSON-Shema的方法吗? 假设我想用像JSON-Schema这样的标准来定义我的API数据模式,因为它很好。 似乎我需要再次定义它时,我想使用Mongoose / MongoDB! 这是我想避免的一些难看的重复。 理想情况下,更改JSON模式定义也会更改MongoDB模式。 如果我使用JOI.JSvalidation库,会出现类似的问题。 有没有人find解决scheme? 还是有另一种方法? 谢谢

多语言界面和mongo /节点的内容

我们正在开发一个新的应用程序,将在网上saas模式。 用户将可以访问某些工具和一些教程如何使用它。 我的问题是什么是使多种语言(界面和内容)的最佳方法。 给你一个例子 – 想象下面的链接简单的导航: – 第一节 | -page a | – 页面b – 第2节 – 第3节 | – 页面 每个页面都包含明显的标签,标题,button等 我一直在寻找一段时间,我发现最接近的答案在这里: Schema为多语言数据库,但是,它描述了关于关系数据库的方法。 在研究其他问题后,看起来最好的方法是将每个section / page / label / title / button的名称作为一个ID保存在一个单独的表中,包括对象的ID,语言和内容。 在SQL世界里,简单的连接可以完成这个工作,但是因为我们使用的是Mongo,所以我猜这样做有更好的方法。

节点,Mongoose,保存多层嵌套模式的问题

我无法解决如何通过Mongoose和node.js在MongoDB中插入多层嵌套模式。 下面的例子是有点人为的,但应该有希望解释我的问题。 至于为什么每个模式被定义为一个完整的模型,但没有在这个例子中使用,这只是因为在我的现实世界的问题,他们是实际的,可用的模型,我想这个例子是现实的,如果它是相关的。 所以这里是相反顺序的示例模式定义,即。 最小的俄罗斯娃娃第一: // Define pen model var PenSchema = new Schema({ color: String // black, blue or red }); var Pen = mongoose.model('Pen', PenSchema); // Define ruler model var RulerSchema = new Schema({ units: String // inches or millimetres }); var Ruler = mongoose.model('Ruler', RulerSchema); // ——– // Define drawing tools model […]

在mongoose.js中共享和重用模式部分的策略

假设我有两个模式,例如person和company 。 他们都应该有一个address ,其中包括一个street name , number , zip和city 。 避免在两个模式定义之间复制address属性的策略是什么? 我阅读了关于子文档的内容 ,但是它们似乎(1)与一个父模式绑定,(2)总是出现在数组中。

Mongoosevariables键名

我有一个mongo对象,并希望通过mongoose访问我的web应用程序。 我定义的模式有一个Object存储用户ID和一个三级值(是的,也许或不)。 例如 "user_info": { "<id_value_1>": "y", "<id_value_2>": "n" } 上面的id_value_* s是用户会话ID,所以是一串长长的随机字符。 我如何创build一个mongoose Schema呢? user_info: {String, String}工作? 我可以重构它,以便user_info是一个对象数组{ "sessionid": "<value>", "value: "y"} ,这将是好的,这是最好的select?

GraphQL – 返回计算types依赖于参数

概述 (简体): 在我的NodeJS服务器中,我已经实现了下面的GraphQL模式: type Item { name: String, value: Float } type Query { items(names: [String]!): [Item] } 客户端查询然后传递一个名称数组作为参数: { items(names: ["total","active"] ) { name value } } 后端API查询一个mysql数据库,“ 总计 ”和“ 活动 ”字段(我的数据库表上的列),并减less响应,如下所示: [{"name":"total" , value:100} , {"name":"active" , value:50}] 我想我的graphQL API支持“比例”项目,IE:我想发送以下查询: { items(names: ["ratio"] ) { name value } } 要么 { items(names: ["total","active","ratio"] […]

为什么我的Mongoose 3.8.7模式获取器和设置器被忽略?

在使用Node.js,Mongoose和MongoDB时,我发现当执行findOne查询时,我的Mongoose模式获取器和设置器不会触发。 我发现了一个旧的线程,表明在版本2.x中有一个getter和setter的问题,但是它表明它已经被解决了,而且我正在使用最新版本的Mongoose(3.8.7)。 这是我的模式的一部分 function testGetter(value) { return value + " test"; } /** * Schema */ var schema = new Schema({ username: { type: String, required: true, unique: true, get: testGetter } }); // I have also tried this. schema.path('username').get(function (value, schemaType) { return value + " test"; }); 以下是我如何执行查询 Model .findOne(conditions, fields, options) .populate(population) […]