2013-06-05 31 views

回答

0

基本上有一些匹配數組的方法。您的需求沒有確切的解決方案。

考慮你有這樣的文件:

{ "_id" : ObjectId("51b05a712961f4704684d901"), "x" : [ 6, 7, 8, 9 ] } 
{ "_id" : ObjectId("51b05a712961f4704684d902"), "x" : [ 7, 8, 9, 10 ] } 
{ "_id" : ObjectId("51b05a712961f4704684d903"), "x" : [ 8, 9, 10, 11 ] } 

您可以使用QUERY1像:

db.collection.find({x:[3,4,5,6]}) 

結果是精確匹配適用於像X

RESULT1陣列:

{ "_id" : ObjectId("51b05a712961f4704684d8fe"), "x" : [ 3, 4, 5, 6 ] } 

QUERY1不會匹配:

{ "_id" : ObjectId("51b05a712961f4704684d8fe"), "x" : [ 3, 4, 5] } 
{ "_id" : ObjectId("51b05a712961f4704684d8fe"), "x" : [ 3, 4, 5, 6, 7] } 

您可以使用:QUERY2喜歡:

db.t.find({x:{$all:[3,4]}}) 

RESULT2可以是:

{ "_id" : ObjectId("51b05a722961f4704684daf1"), "x" : [ 3, 4, 5, 6 ] } 
{ "_id" : ObjectId("51b05c332961f4704684dce4"), "x" : [ 3, 4, 5 ] } 
{ "_id" : ObjectId("51b05c772961f4704684dce5"), "x" : [ 3, 4, 5, 6, 7 ] } 

您可以使用:QUERY3喜歡:

Result3看起來像:

{ "_id" : ObjectId("51b05a722961f4704684daf1"), "x" : [ 3, 4, 5, 6 ] } 
{ "_id" : ObjectId("51b05a722961f4704684daf2"), "x" : [ 4, 5, 6, 7 ] } 

看到這個問題也:mongodb array matching

因此,有一個子集$操作打開/未解決的門票它做什麼,你可能。

相關問題