TIM*_*MEX 10 javascript mongoose mongodb node.js
> db.users.findOne();
{
"_id" : ObjectId("4db8ebb4c693ec0363000001"),
"fb" : {
"name" : {
"last" : "Sss",
"first" : "Fss",
"full" : "Fss"
},
"updatedTime" : "2011-04-27T09:51:01+0000",
"verified" : true,
"locale" : "en_US",
"timezone" : "-7",
"email" : "abc@gmail.com",
"gender" : "male",
"alias" : "abc",
"id" : "17447214"
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我的Mongo对象.现在我想通过Mongoose找到它:
User.findOne( { gender: "male" }, function(err, docs){
console.log(err); //returns Null
console.log(docs); //returns Null.
});
Run Code Online (Sandbox Code Playgroud)
那不行!这也不是:
User.findOne( { fb: {gender:"male"} }, function...
Run Code Online (Sandbox Code Playgroud)
空,null.
这是我的全部事情:
app.get('/:uid',function(req,res){
params = {}
User.findOne({ $where : "this.fb.gender == 'male' " }, function(err, docs){
console.log(docs);
});
res.render('user', { locals:params });
});
Run Code Online (Sandbox Code Playgroud)
Bri*_*chi 46
我是猫鼬的作者之一.您可以通过以下几种方式之一进行此查询:
find 句法
User.findOne({'fb.gender': 'male'}, callback);
Run Code Online (Sandbox Code Playgroud)where 句法
User.where('fb.gender', 'male').findOne(callback);
Run Code Online (Sandbox Code Playgroud)命名范围语法
UserSchema.namedscope('male').where('fb.gender', 'male');
// ...
var User = mongoose.model('User', UserSchema);
// Now you can write queries even more succinctly and idiomatically
User.male.findOne(callback);
Run Code Online (Sandbox Code Playgroud)试试这个 :
User.findOne( { $where : "this.fb.gender == 'male' " } )
Run Code Online (Sandbox Code Playgroud)
要么
User.findOne( { fb.gender : "male" } )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35122 次 |
| 最近记录: |