我的Word Schema包含嵌套对象,如下所示。如果我想在值为xxx的“elementary_one_reading”中搜索单词,我可以简单地db.words.find({"apperance.elementary_one_reading": xxx})
但是,我想知道如何在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 :(得分:0)
我刚刚意识到解决这个问题的简单方法是使用查询。我可以很容易地做到以下几点。
var field ='appearance.elementary_one_reading'; Word.find()。where(field,xxx).exec(callback);