作品: var mongoose = require('mongoose'); var db = function() { return { config: function(conf) { mongoose.connect('mongodb://' + conf.host + '/' + conf.database); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function callback() { console.log('db connection open'); }); } }; }; module.exports = db(); 不起作用: var mongoose = require('mongoose'); var db = function() { return […]
FBFriendModel.find({ id: 333 }, function (err, docs) { docs.remove(); //Remove all the documents that match! }); 以上似乎并没有工作。 logging还在那里。 有人可以修复?
我有两个mongoosecollections。 第一个存储地点列表,第二个是访问地点。 我的节点代码通过并试图获取每个地方的访问列表,并构build一个string,我输出为JSON。 第一个查询在第二个开始之前完成 – 是否有办法让它们同步运行?
我来自一个SQL背景,所以编写查询在SQL中,我join表是很简单,但我想我错过了在mongoose/ mongodb 基本上我知道Subscriber_ID(映射到User Collection中的文档) 我想拉的项目组,所有的用户所属的项目,所以如果我要写在pseduo SQL这将是像 Select ProjectGroup.title, Project.Title FROM ProjectGroup, Project, User WHERE User.id = req.body.subscriber_id AND Project.subscriber_id = User.id AND ProjectGroup.project_id = Project.id 在mongoose / mongodb中必须有办法做类似的连接,因为这个types映射到一个模式对吗? 我的模式….. 项目组模式 var ProjectGroupSchema = new Schema({ title : String , projects : [ { type: Schema.Types.ObjectId, ref: 'Project' } ] }); 项目模式 var ProjectSchema = new […]
有没有可能查询一个特定的date? 我在mongo Cookbook中发现,我们可以在范围内查询date范围。就像这样: db.posts.find({"created_on": {"$gte": start, "$lt": end}}) 但是,具体date有可能吗? 这不起作用: db.posts.find({"created_on": new Date(2012, 7, 14) })
我所有的logging都有一个名为“图片”的字段。 这个字段是一个string数组。 我现在想要这个数组不是空的最新的10个logging。 我已经search了一下,但奇怪的是,我还没有发现很多。 我读过$ where选项,但是我想知道原生函数有多慢,以及是否有更好的解决scheme。 即使如此,这是行不通的: ME.find({$where: 'this.pictures.length > 0'}).sort('-created').limit(10).execFind() 什么都不返回 离开this.pictures没有长度位的工作,但它也返回空logging,当然。
如果我有这样的模式: var person = new Schema({ firstName: String, lastName: String, }); 我想确保只有一个具有相同的firstName和lastName的文档。 我怎样才能做到这一点?
如何在示例文档中填充“组件”: { "__v": 1, "_id": "5252875356f64d6d28000001", "pages": [ { "__v": 1, "_id": "5252875a56f64d6d28000002", "page": { "components": [ "525287a01877a68528000001" ] } } ], "author": "Book Author", "title": "Book Title" } 这是我的JS,我通过Mongoose获取文档: Project.findById(id).populate('pages').exec(function(err, project) { res.json(project); });
对于我的项目,我想为组织团体保留一份mongoose文件,就像这样: var groupSchema = Schema({ name : { type : String }, org : { type : Schema.Types.ObjectId, ref : 'Organization' }, … users : [{ uid : { type : Schema.Types.ObjectId, ref : 'User' }, … }] }); 我想阻止同一个用户在同一个组中两次。 要做到这一点,我需要强制users.uid在用户数组中是唯一的。 我试着说“唯一:真正的”为uid,但这并不奏效。 有没有办法做到这一点与mongoose或mongoDB没有额外的查询或拆分架构? 编辑:我改变了以前的uid值为uid:{type:Schema.Types.ObjectId,ref:'User',index:{unique:true,dropDups:true}}但是,这似乎并不奏效。 编辑:假设没有简单的方法来实现这一点,我添加了额外的查询检查用户是否已经在组中。 这在我看来是最简单的方法。
请考虑更新的答案,因为这些年来事情已经发生了变化,所以有更多的最新信息! 由于很多新的Node.js库很快就被废弃了,而且还有相对较less的例子,所以我想问一下使用最新版本的Node.js(v0.4.1),Express(1.0.7)和Mongoose 1.1.0)。 别人怎么做到的? 我发现: https : //github.com/felixge/node-formidable ,但我是一般上传图片的新手,所以我想通过Node.js和Express学习一些常用的东西和方法。