mongoose复杂的查询
使用mongoose。 Schema看起来类似于这个:
{ "name" : String, "start" : Date, "stop" : Date }
我试图做的是build立一个查询,(“与”):
- “name”==值
- “开始” – 不存在或“开始”的价值
- “停止” – 不存在或“停止”lte值
另一方面,启动和停止可以通过,或者不能通过(其中任何一个)。
我所有的尝试,而完成了某种Mongo错误:)所以要求一些帮助。
问候。
您的AND
查询逻辑可以用以下两种方式之一来表示:
隐式AND操作 :
Model.find({ "name": name, "start": { "$or": [ { "$exists": false }, { "$gte": start } ] }, "stop": { "$or": [ { "$exists": false }, { "$gte": stop } ] } }).exec(callback);
显式AND操作:
Model.find({ "$and": [ { "name": name }, { "start": { "$or": [ { "$exists": false }, { "$gte": start } ] } }, { "stop": { "$or": [ { "$exists": false }, { "$gte": stop } ] } } ] }).exec(callback);