2016-12-13 68 views
0

我有一個情況下,我需要用貓鼬如何使用貓鼬

在蒙戈外殼從集合中選擇只有一個文檔,選擇從集合隨機文檔中,我們使用它作爲

db.user.find().limit(1)

{ 
"_id": "56fc22f625311b661becefb5", 
「activities」: [...], 
"lastName": 「patrick」, 
"firstName": "John」, 
"city": 「Chennai」, 
"state": 「TAMILNADU」, 
"rollnumber": "123456789" 
} 

如何使用貓鼬,我只需要選擇特定的字段像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

如貓鼬文檔說(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; 
    }); 

不知道該隨機側的你的問題。