2013-08-27 117 views
2

我有Word模式,它包含一個嵌套的對象,如下所示。如果我想在xxx的「elementary_one_reading」中搜索單詞,我可以簡單地做db.words.find({"apperance.elementary_one_reading": xxx})按關鍵字在mongodb/mongoose中搜索

然而,我想知道如何在貓鼬中這樣做,假設我想爲密鑰傳遞一個變量。特別是,我希望能有辦法做到像下面這樣的事情,但它不起作用。

function(key, value) { 
    Word.find({"appearance." + key: value}, function(err, results) { 
    } 

} 


{ "word" : "歲", "_id" : ObjectId("1"), "appearance" : { "elementary_one_reading" : [ 1 ] }} 
{ "word" : "女", "_id" : ObjectId("2"), "appearance" : { "elementary_one_reading" : [ 1 ] }} 
{ "word" : "我", "_id" : ObjectId("3"), "appearance" : { "elementary_two_reading" : [ 1, 8 ] }} 
{ "word" : "你", "_id" : ObjectId("4"), "appearance" : { "elementary_two_reading" : [ 1, 2 ] }} 

回答

0

我剛剛意識到解決這個問題的簡單方法是通過使用查詢。我可以輕鬆完成以下任務。

var field ='appearance.elementary_one_reading'; Word.find()。where(field,xxx).exec(callback);