Tag: mongodb

与Mongoose进行多对多的映射

我的devise中有FlashcardSchemas和PackageSchemas。 一个flashcard可以属于不同的包,一个包可以包含不同的flashcard。 下面你可以看到我的mongoose模式定义的精简版本: // package-schema.js var Schema = mongoose.Schema, ObjectId = Schema.ObjectId; var PackageSchema = new Schema({ id : ObjectId, title : { type: String, required: true }, flashcards : [ FlashcardSchema ] }); var exports = module.exports = mongoose.model('Package', PackageSchema); // flashcard-schema.js var Schema = mongoose.Schema, ObjectId = Schema.ObjectId; var FlashcardSchema = new Schema({ […]

我如何更新mongoose中的多个文件

我发现了下面的脚本: Device.find(function(err, devices) { devices.forEach(function(device) { device.cid = ''; device.save(); }); }); MongoDB的“多”标志为多个文件的更新,但我不能得到这与mongoose工作。 这还不支持,或者我做错了什么? Device.update({}, {cid: ''}, false, true, function (err) { //… });

确定前保存callback中是否有新logging

有没有办法find一个logging“是新的”(尚未保存)mongoose模型模式的预保存callback?

查询后填入mongoose

我对Mongoose和MongoDB一般很新,所以我很难搞清楚这样的事情是否可能: Item = new Schema({ id: Schema.ObjectId, dateCreated: { type: Date, default: Date.now }, title: { type: String, default: 'No Title' }, description: { type: String, default: 'No Description' }, tags: [ { type: Schema.ObjectId, ref: 'ItemTag' }] }); ItemTag = new Schema({ id: Schema.ObjectId, tagId: { type: Schema.ObjectId, ref: 'Tag' }, tagName: { type: […]

如何得到mongoose模型的所有计数?

我怎样才能知道数据已保存的模型的数量? 有一个Model.count()的方法,但似乎没有工作。 var db = mongoose.connect('mongodb://localhost/myApp'); var userSchema = new Schema({name:String,password:String}); userModel =db.model('UserList',userSchema); var userCount = userModel.count('name'); userCount是一个对象,哪个方法可以得到一个真正的count ? 谢谢

在NodeJS中获取Mongo数据库中插入文档的_id

我使用NodeJS在MongoDB中插入文档。 使用collection.insert我可以像这样的代码中插入一个文档到数据库中: // … collection.insert(objectToInsert, function(err){ if (err) return; // Object inserted successfully. var objectId; // = ??? }); // … 我怎样才能得到插入对象的_id ? 有没有办法让_id没有获取最新的对象_id ? 假设在同一时间很多人访问数据库,我不能确定最新的ID是插入对象的ID。

Mongoose.js:通过用户名LIKE值查找用户

我喜欢通过寻找一个名为value的用户来在mongoDb中find一个用户。 问题在于: username: 'peter' 是,如果用户名是“彼得”,或“佩特”..或类似的东西,我不会find它。 所以我想要像SQL一样 SELECT * FROM users WHERE username LIKE 'peter' 希望你们能得到我所要求的? 短:mongoose.js / mongodb中的“字段LIKE值”

如何在不定义模式的情况下使用Mongoose?

在之前版本的Mongoose(对于node.js)中,有一个选项可以在不定义模式的情况下使用它 var collection = mongoose.noSchema(db, "User"); 但在目前的版本中,“noSchema”function已被删除。 我的模式可能经常改变,真的不适合定义的模式,所以有没有一种新的方法在mongoose中使用无模式模型?

用Node.js和MongoDB存储密码

我正在寻找一些如何使用node.js和mongodb安全地存储密码和其他敏感数据的例子。 我希望一切都使用一个独特的盐,我将存储在mongo文件中的哈希旁边。 对于身份validation,我只需要salt和encryptioninput,并将其匹配到存储的散列? 我是否需要解密这些数据?如果有,我该怎么做? 私人密钥,甚至腌制方法如何安全地存储在服务器上? 我听说AES和Blowfish都是很好的select,我应该用什么? 如何devise这个例子将是非常有帮助的! 谢谢!

Mongoose和单个node.js项目中的多个数据库

我正在做一个包含子项目的Node.js项目。 一个子项目将有一个Mongodb数据库,Mongoose将用于包装和查询数据库。 但问题是 Mongoose不允许在单个mongoose实例中使用多个数据库,因为模型是在一个连接上构build的。 为了使用多个mongoose实例,Node.js不允许多个模块实例,因为它在require()具有caching系统。 我知道在Node.js禁用模块caching,但我认为这不是一个好的解决scheme,因为它只需要mongoose。 我试图在mongoose中使用createConnection()和openSet() ,但这不是解决scheme。 我试图深入复制mongoose实例( http://blog.imaginea.com/deep-copy-in-javascript/ )传递新的mongoose实例到子项目,但它RangeError: Maximum call stack size exceeded 。 我想知道是否有任何使用mongoose或任何解决方法为这个问题使用多个数据库? 因为我认为mongoose是相当容易和快速的。 或者其他任何模块作为build议?