我有一个案例,我需要使用mongoose
从集合中只选择一个文档在mongo shell中我们将其用作
db.user.find().limit(1)
{
"_id": "56fc22f625311b661becefb5",
“activities”: [...],
"lastName": “patrick”,
"firstName": "John”,
"city": “Chennai”,
"state": “TAMILNADU”,
"rollnumber": "123456789"
}
如何使用mongoose,我必须只选择像rolenumber这样的特定字段,不是所有的字段
我试了一下
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/connector', function(err){
if(err) throw err
});
var Schema = mongoose.Schema;
var userSchema = new Schema({rollnumber : Number});
module.exports = mongoose.model('user', userSchema,'user');
var a = user.find().limit(1);
return a;
答案 0 :(得分:0)
正如Mongoose文档所说(http://mongoosejs.com/docs/queries.html):
任何涉及指定查询条件的模型方法都可以 执行两种方式:
当回调函数时:
- 传递,操作将立即执行,结果传递给回调 - 未传递,返回Query实例,该实例提供特殊的查询构建器界面。
所以我建议你尝试使用回调函数来尝试这样的事情:
let user = mongoose.model('user', userSchema);
module.exports = user;
user.find({}, 'rolenumber state')
.limit(1)
.exec((err, a) => {
if (err) console.log(err);
return a;
});
您不确定随机方面的问题。