2016-08-22 32 views
0

如何使用變量作爲我正在搜索的鍵來查詢mongodb?試圖用變量作爲鍵來查詢貓鼬

數據:

const schedule = { 
    day0: [10, 1440], 
    day1: [10, 1440], 
    day3: [10, 1440], 
    day6: [10, 1440], 
} 

查詢

User.find({ `schedule.${varHere}` { $exists: true}}, (err, users) => { 
    console.log(users) 
}) 
+0

的[我如何將屬性添加到使用變量作爲名稱的JavaScript對象?(可能的複製http://stackoverflow.com/questions/695050/how-do- i-add-a-property-to-a-javascript-object-using-a-variable-as-the-name) – Matt

回答

1

您需要首先要麼建立一個對象使用ES6 computed propery names

const query = { [`schedule.${varHere}`]: { $exists : true } }; 

或使用表達式作爲屬性名稱

const query = {}; 
query[`schedule.${varHere}`] = { $exists: true }; 

然後

User.find(query, (err, users) => { 
    console.log(users) 
}) 
+0

非常感謝你 User.find({['schedule。$ {day}'] :{$ exists:true}},(err,users)=> {console.log(users) }) 像一個魅力 –