Articles of odm

应该是在应用程序逻辑处理之前克隆的input数据对象?

我工作在一个开源项目 – 对象文档映射器又名。 ODM在javascript ,我面临一个devise决定,我奋斗(相当simple但不easy )。 在ODM您可以定义一个Model对象来描述数据库中的数据文档。 当创build一个新的Model实例对象时,可以通过parameter passing它的数据值。 伪代码: var data = { username: 'james' email: 'james@email.com', country: { code: 'US', city: '' } }; // In case the data object would not be cloned, it would be mutated by the ODM var user = new UserModel(data); 现在,我所面临的决定是在应用程序(ODM)处理之前是否自动克隆模型中的data对象。 我倾向于select不克隆input数据。 我觉得在javascript社区中,通常克隆数据通常比所需要的要多,因为它可以使最终用户变得easy ( simple )。 从我的研究中,我发现一些类似和stream行的项目决定克隆数据,但我不确定这是一个正确的select,考虑到一个模型可以有大而复杂的数据模式,虽然没有任何区别在几十个Model实例对象的情况下,我认为这可能是一个问题,而使用例如:数百个Model对象。 […]

为什么用这种方式devisemongoose?

我是新来的mongoose, 如果我想定义一个模型,我可以使用下面的代码: var ArticleSchema = new Schema({ _id: ObjectId, title: String, content: String, time: { type: Date, default: Date.now } }); var ArticleModel = mongoose.model("Article", ArticleSchema); 但为什么不是这样的代码: var ArticleModel = new Model({ // properties }); 为什么用这种方式devisemongoose? 有什么情况可以重复使用“ArticleSchema”吗?

Redis的Nodejs对象文档模型

我想在node.js中使用redis的ODM。 有没有人使用过任何经验? 我理想的想要的东西有点相当于mongoose (除了Redis,而不是Mongodb)。 我迄今所听到的两个是霍姆和罗恩 。 有人可以比较使用这两种方法的经验吗? 我也读过关于redback的内容 ,我很好奇它是否可以和ODM合作。

MongoDB – 查询难题 – 文档参考或子文档

我遇到了一些有关我存储在MongoDB中的数据的问题(注意:我使用mongoose作为ODM)。 我有两个模式: mongoose.model('Buyer',{ credit: Number, }) 和 mongoose.model('Item',{ bid: Number, location: { type: [Number], index: '2d' } }) 买方/物品将具有父母/子女关系,并具有一对多的关系。 我知道,我可以将项目设置为embedded的子文档到买方文档, 或者我可以创build两个单独的文档与对象ID引用到对方。 我面临的问题是,我需要查询出价低于买家信用的项目 ,以及哪里的地理位置接近某个地理坐标 。 为了满足第一个标准,似乎我应该embedded项目作为一个subdoc,以便我可以比较这两个数字。 但是,为了比较地理位置与一个geoNear查询,似乎分开文件会更好,否则,我不能在每个子文档上执行geoNear。 有什么办法可以对这些数据执行这两个任务吗? 如果是这样,我应该如何构build我的数据? 如果没有,有没有办法,我可以执行一个查询,然后对第一个查询结果第二个查询? 谢谢你的帮助!

Mongoose.model与Connection.model与Model.model

我对mongoosejs模型的使用有些困惑 模型可以通过这些方式使用mongoose创build 使用mongoose var mongoose = require('mongoose'); var Actor = mongoose.model('Actor', new Schema({ name: String })); 使用连接 var mongoose = require('mongoose'); var db = mongoose.createConnection(..); db.model('Venue', new Schema(..)); var Ticket = db.model('Ticket', new Schema(..)); var Venue = db.model('Venue'); 使用现有的模型实例 var doc = new Tank; doc.model('User').findById(id, callback); 现在由Mongoose.model , Connection.model和Model.model返回的模型有什么区别。 什么时候使用什么,build议/创build/获取模型的方法是什么?

Mongoose ODM,在保存之前更改variables

我想为我的用户文档创build一个带有Mongoose的模型层,它会: validation(唯一,长度) 规范化(用户名和电子邮件被转换成小写字母来检查唯一性) 盐生成 密码散列 (logging) 所有这些操作都需要在执行db之前执行。 幸运的是,mongoose支持validation,插件和中间件。 坏事是我找不到有关这个问题的好材料。 mongoosejs.com上的官方文档太短 有没有人有关于与Mongoose(或一个完整的插件,如果存在的话)的预先操作的例子? 问候