我如何在猫鼬执行查询
How do I perform a query in Mongoose?
> 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"
}
}
这是我的Mongo对象。现在我想通过Mongoose找到它:
User.findOne( { gender: "male" }, function(err, docs){
console.log(err); //returns Null
console.log(docs); //returns Null.
});
不行!
User.findOne( { fb: {gender:"male"} }, function...
空,空。
这是我的全部:
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 });
});
我是mongoose的作者之一。您可以通过以下几种方式之一执行此查询:
-
find
语法User.findOne({'fb.gender': 'male'}, callback);
-
where
语法User.where('fb.gender', 'male').findOne(callback);
-
命名作用域语法
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);
试试这个:
User.findOne( { $where : "this.fb.gender == 'male' " } )
或
User.findOne( { fb.gender : "male" } )
相关文章:
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- 在node.js-mysql中执行UPDATE查询不起作用
- onchange选择get value并执行查询,然后在同一页面上显示结果
- AJAX 请求不会在 400 个错误查询上执行失败
- 关闭浏览器时使用 ajax 执行查询的解决方案
- 使用 Javascript 在 MongoDB 中使用希腊字符执行查询不会返回任何结果
- 节点JS-异步-响应是在执行查询时发送的
- NodeJS-如何通过执行查询获得mysql结果
- SSE和Ajax轮询在浏览器中执行查询而不是js代码的区别
- Sequelize——如何按顺序执行查询
- 在Symfony2中使用Typeahead + Bloodhound和FOSJsRoutingBundle执行查询
- 如何在jQuery成功的情况下执行查询?
- Javascript自执行查询函数
- Nodejs mysql无法执行查询
- 自动执行查询
- javascript承诺汇集连接并执行查询
- Websql 事务中的多个执行查询是否异步运行
- 我如何在猫鼬执行查询
- 对每个循环项执行查询并等待结果
- 在加载页面上执行查询