MongoDB 集合字段匹配查询方法
来源:互联网 发布:斧子演示 知乎 编辑:程序博客网 时间:2024/06/06 01:33
MongoDB是基于分布式文件存储的数据库,本文将介绍如何对MongoDB记录中集合字段进行匹配查询。
1.创建测试数据库
use testdbdb.createUser( { "user":"root", "pwd":"123456", "roles":[{"role" : "readWrite", "db":"testdb"}] } ) db.auth( { "user":"root", "pwd":"123456" } )
2.插入测试数据,area_id为集合字段
db.member.insert([ { "id" : 1, "name" : "fdipzone", "area_id" : [1,2,3], }, { "id" : 2, "name" : "tom", "area_id" : [3,4], }, { "id" : 3, "name" : "polly", "area_id" : [1,3,7], }, { "id" : 4, "name" : "anslem", "area_id" : [2,4,6], }, { "id" : 5, "name" : "terry", "area_id" : [4,5,9], }])
查询插入的数据
db.member.find();{ "_id" : ObjectId("59f589f5641e44b4c51cb770"), "id" : 1, "name" : "fdipzone", "area_id" : [ 1, 2, 3 ] }{ "_id" : ObjectId("59f589f5641e44b4c51cb771"), "id" : 2, "name" : "tom", "area_id" : [ 3, 4 ] }{ "_id" : ObjectId("59f589f5641e44b4c51cb772"), "id" : 3, "name" : "polly", "area_id" : [ 1, 3, 7 ] }{ "_id" : ObjectId("59f589f5641e44b4c51cb773"), "id" : 4, "name" : "anslem", "area_id" : [ 2, 4, 6 ] }{ "_id" : ObjectId("59f589f5641e44b4c51cb774"), "id" : 5, "name" : "terry", "area_id" : [ 4, 5, 9 ] }
3.使用$in进行查询
查询area_id含有1的记录
db.member.find({"area_id":{$in:[1]}});{ "_id" : ObjectId("59f589f5641e44b4c51cb770"), "id" : 1, "name" : "fdipzone", "area_id" : [ 1, 2, 3 ] }{ "_id" : ObjectId("59f589f5641e44b4c51cb772"), "id" : 3, "name" : "polly", "area_id" : [ 1, 3, 7 ] }
注意,$in只能检查集合内每一个元素是否匹配,只要任意一个匹配就返回记录,并不能检查同时匹配多个元素的情况。
例如要查询area_id同时包含2和4的记录,使用$in只会查询出含有2或4的记录。
db.member.find({"area_id":{$in:[2,4]}});{ "_id" : ObjectId("59f58ddfa874fe2b3da340bf"), "id" : 1, "name" : "fdipzone", "area_id" : [ 1, 2, 3 ] }{ "_id" : ObjectId("59f58ddfa874fe2b3da340c0"), "id" : 2, "name" : "tom", "area_id" : [ 3, 4 ] }{ "_id" : ObjectId("59f58ddfa874fe2b3da340c2"), "id" : 4, "name" : "anslem", "area_id" : [ 2, 4, 6 ] }{ "_id" : ObjectId("59f58ddfa874fe2b3da340c3"), "id" : 5, "name" : "terry", "area_id" : [ 4, 5, 9 ] }
4.使用$all进行查询
$all可以检查同时匹配多个元素的情况
查询area_id同时含有2和4的记录
db.member.find({"area_id":{$all:[2,4]}});{ "_id" : ObjectId("59f58ddfa874fe2b3da340c2"), "id" : 4, "name" : "anslem", "area_id" : [ 2, 4, 6 ] }
阅读全文
0 0
- MongoDB 集合字段匹配查询方法
- mongodb查询部分字段方法
- Mongodb查询指定字段方法
- 关于mongodb按照字段模糊查询方法
- mongodb中根据集合中的字段关系返回查询结果
- 匹配mongodb数据库中的字段
- MongoDB查询操作限制返回字段的方法
- MongoDB中关于查询条件中包含集合中字段的查询
- mongodb 集合查询$in
- 匹配所有字段模糊查询
- MongoDB删除字段和部分字段查询
- Mongodb的集合插入一个字段
- MongoDB数据库查询方法
- mongoDB for Java 查询显示指定字段
- mongodb 批量查询 输出指定字段
- 查询MongoDB子文档的List字段
- Spring Data MongoDB 查询指定字段
- mongodb 查询某个字段 并删除
- 聊天窗口
- 归并排序
- [题解]NOIP2015提高组の题解集合
- codevs1116 四色问题
- ThinkPHP框架访问文件提示No input file specified解决方案
- MongoDB 集合字段匹配查询方法
- 哈夫曼编码
- javascript动态添加网页组件
- 编程的那些事儿(一)
- Linux IPC 3 之 信号量
- 僵尸进程和孤儿进程
- C语言简单复习
- Python学习之初始(五)
- 怎样才能赚到钱系列(一)