mongoDB find的$in $all的区别

使用过mysql的人知道in是完全匹配的,如果想实现匹配其中的一个字段,那么需要使用find_in_set. 在使用mongodb开发的过程中遇到过类似的需求,实现方法也很简单,只需使用in即可,如果是all的话,那么表示完全匹配。来看个实例

mongodb $in 查询

1

2

3

> db.col_content.find({'nodeID':{$in:['7788']}})

{ "_id" : ObjectId("525baa67539d1ec00700002a"), "nodeID" : [ "7788" ], "i" : 3 }

{ "_id" : ObjectId("525baab1539d1ec00700002b"), "nodeID" : [ "123", "7788" ], "i" : 4}

 

mongodb $all 查询

1

2

> db.col_content.find({'OUT':{$all:['123','7788']}})

{ "_id" : ObjectId("525baab1539d1ec00700002b"), "OUT" : [ "123", "7788" ], "i" : 4}

 

上面可以看出区别了

 

 

{ "is_effect" : { "$in" : ["1"] } }

posted @ 2020-05-16 23:32  八英里  阅读(1727)  评论(0编辑  收藏  举报