🌞

MongoDB 查询数组

在阅读《MongoDB权威指南》4.3.3 查询数组章节时,有一个疑惑:$in与普通查询方式有何区别,试验结果如下:

  1. 假设创建了一个包含3个元素的集合:
1
2
3
> db.test.insert({"_id": 1, "digit": [1, 2, 16]})
> db.test.insert({"_id": 2, "digit": [1, 11, 15]})
> db.test.insert({"_id": 3, "digit": [3, 2, 1]})
  1. 比较查询条件及结果差异:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
> db.test.find({"digit": 2});
{ "_id" : 1, "digit" : [ 1, 2, 16 ] }
{ "_id" : 3, "digit" : [ 3, 2, 1 ] }

> db.test.find({"digit": [2]});
>

> db.test.find({"digit": [1, 2, 16]});
{ "_id" : 1, "digit" : [ 1, 2, 16 ] }


> db.test.find({"digit": [2, 1, 16]});
>

> db.test.find({"digit": {"$in": [1, 2]}});
{ "_id" : 1, "digit" : [ 1, 2, 16 ] }
{ "_id" : 2, "digit" : [ 1, 11, 15 ] }
{ "_id" : 3, "digit" : [ 3, 2, 1 ] }
updatedupdated2020-01-122020-01-12
加载评论