2
我是比較新的蒙戈&貓鼬,我碰到一個問題。帶有可選參數的Mongoose複雜查詢?
我有一個合理的(對我來說)複雜的查詢,這將允許用戶搜索所有輸入的術語。
所以如果查詢是像這樣:
var query = { '$and' : [
{ "foo1" : "bar1" },
{ '$and' : [ "foor2" : { $ne : null } }, { "foo2" : "bar2" } ] },
{ "foo3" : "bar3" }
]};
Doc.find(query);
,但用戶可以輸入任何數字組合爲參數,即我可以搜索匹配foo1 & foo2的,或者只是所有的項目,所有項目匹配foo2,或只是foo3等
有沒有辦法告訴查詢只查找參數,如果它不是空的,或者有沒有一種方法來編譯這樣的編程?我所看到的其他選項,添加這樣的參數,但他們似乎只在標準
{ foo : 'bar' }
格式添加,出於某種原因,他們似乎總是被添加到查詢是否符合,如果條件聲明與否。
謝謝。
很酷的感謝,我設法弄清楚如何做到這一點,但很高興知道我來到了正確的解決方案。我想通過提出一個看起來比所需要的更復雜的查詢,我的生活變得更難了。菜鳥的錯誤:) – user3075259