2016-12-02 125 views
-1

我目前有一個貓鼬模型,我將多個ID保存爲一個數組。Mongoose查詢返回數組爲undefined

var map = new Schema ({ 
    "AdminID" : [{type: mongoose.Schema.Types.ObjectId, required: false }], 
    "AdminKeys" : [{type: mongoose.Schema.Types.ObjectId, required: false }] 
}); 

當我通過mongo shell進行查詢時,可以看到AdminKeys數組中有一些值。

"_id" : ObjectId("584101b5b2483a57256bdf16"), 
"AdminID" : [ ], 
"AdminKeys" : [ 
     ObjectId("583b5f0b9a64391584e4b4ad") 
] 

然而,在我的控制器,當我嘗試做

Map.findOne({_id: ObjectId('584101b5b2483a57256bdf16')}, 
{_id : 0, AdminID: 1, AdminKeys: 1 } (err, map) => { 

     if (err) { 
     console.log(err); 
     return; 
     } 
     console.log(map); 
} 

我留下不確定的數組字段和我AdminKeys陣列內不能訪問任何值。

_doc: 
    { AdminID: undefined, 
     AdminKey: undefined }, 
'$__original_save': [Function], 

如果有人會這麼善良,以幫助我瞭解正在發生的事情和解決辦法,將不勝感激。

回答

2

試試這個:

Map.findOne({_id: ObjectId('584101b5b2483a57256bdf16')}, 'AdminID AdminKeys',function(err, map) { 

    if (err) { 
    console.log(err); 
    return; 
    } 
    console.log(map); 
}); 

希望這有助於:)

+0

該查詢是完全沒有,這樣的說法是告訴貓鼬返回的字段。 –

+0

@RaviShankar你應該upvote如果它幫助你的答案。 –