我的問題與Waterline (Sails.js): AND conditions相同。有一個答案,但它不適合我(對提問者而言)。Waterline/Sails.js/Mongo如何使用AND條件查詢一個字段?
據我所知,waterline在其查詢語言中沒有關鍵字'和'。 如果我有多個條件進行查詢,我可以簡單地使用:
MyModel.find({fieldA:valueA, filedB:valueB});
但我的問題是怎麼做的:
MyModel.find({fieldA:{
contains:keyword1,
contains:keyword2
}});
因爲我不能設置在對象的兩個關鍵同名/ JSON,所以我嘗試:
MyModel.find({fieldA:
[
{contains:keyword1},
{contains:keyword2}
]
});
和
MyModel.find({fieldA:
{contains:[keyword1,keyword2]}
});
和
MyModel.find()
.where({fieldA:{contains:keyword1})
.where({fieldA:{contains:keyword2}});
但他們沒有按預期工作:第一和第二返回一個空集和第3只一個包含關鍵字2。 看來,當你試圖將兩個'contains'條件添加到同一個字段(fieldA),並且鏈接'where'方法時,第二個會覆蓋第一個。
我正在使用本地mongoDB的方式來處理這個作爲一種解決方法,劑量任何人都知道如何以水線的方式做到這一點?或者這是一個問題應該在github上報告。
PS:對不起,我英文不好:P
感謝您的回覆,你的時間! :)所以我應該在github上報告這個錯誤(或發送功能請求)? – 2014-11-10 11:12:02
可以在mongo上做這項工作...不知道我是否做錯了什麼,或者水線是否遠遠落後 – 2015-10-15 09:40:11
它的確行得通!看到我的答案!使用$而不是和mongo – 2015-10-15 09:58:07