我正在使用mongodb
和sails/waterlinejs
我的一个文档中有一个字段"participants": ["1" ,"2" ,"3"]
我想进行mongodb
查询:
Document.find({participants: {$all: ["1", "2"]}})
但是我注意到,如果我在waterline
中进行操作,它将返回包含所有"1" OR "2"
的所有文档。
我想同时获得"1" AND "2"
这是我在本机查询中必须做的事情吗? waterline
处是否有一个文档列出了.find()
的所有可用运算符?
谢谢
答案 0 :(得分:1)
尝试使用$and
,您应该这样做。
query = Model.where({"$and": [ { "participants": "1" }, { "participants": "2" } ] });
答案 1 :(得分:0)
您可以在其中使用修饰符。
搜索值在值列表中的记录。
Model.find({
participants: { in: ['foo', 'bar'] }
})
文档:https://sailsjs.com/documentation/concepts/models-and-orm/query-language#?in
提供一个数组以查找其属性值与任何指定的搜索词完全匹配的记录。
Model.find({
participants : ['foo', 'bar']
});
文档:https://sailsjs.com/documentation/concepts/models-and-orm/query-language#?in-modifier