我的mongodb上有以下JSON条目:
{a:[10, 20, 30, 40]}
{a:[10]}
{a:[10, 20]}
{a:[10, 30]}
我想选择包含((10 OR 20)AND(30 OR 40))的所有'a'...在这个例子中,只是第一个和最后一个
我尝试(没有成功)使用$和和$或类似:{$和:[{$或:[{'a':10},{'a':20}]},{$或:[ { 'A':30},{ 'A':40}]}]}
答案 0 :(得分:0)
$仅适用于版本1.9.1。检查db.version(),你会发现你的版本低于它,因为它还不是可下载的软件包(最后一个是1.8.2,最后一个是1.9.0)。如果版本<这些都应该做你想要的。 1.9.1:
db.test.find({$or:[{a:10},{a:20}], $or:[{a:30},{a:40}]})
db.test.find({a:{$in:[10,20]}, a:{$in:[30,40]}})