mongodb用子文档做为查询条件的两种方法
2016-05-25 09:22
477 查看
{ "_id": ObjectId("52fc6617e97feebe05000000"), "age": 28, "level": NumberInt(500), "name": "name5", "person": [ { "level": 5, "score": 100, "ccc":{"ccc3":56,"fff3":78} }, { "level": 7, "score": 90, "like": "music" } ], "score": NumberInt(500), "sex": "男" }
方法一:
db.testColl.find({"person.level":7}); db.testColl.find({"person.ccc.ccc3":56});
均可查出结果,就是说这种方法可以嵌套使用!
方法二、使用$elemMatch操作符
db.testColl.find({"person":{"$elemMatch":{"level":5}}});
可以查出结果
db.testColl.find({"person":{"$elemMatch":{"ccc":{"$elemMatch":{"ccc3":56}}}}});
无法查出结果
db.testColl.find({"person":{"$elemMatch":{"ccc":{"ccc3":56,"fff3":78}}}}); db.testColl.find({"person":{"$elemMatch":{"ccc.ccc3":56}}});
可以查出结果
也就是说第二种方法不能嵌套使用。
相关文章推荐
- Ubuntu安装mongoDB
- MongoDB快速翻页的方法
- MongoDB快速入门学习笔记1 windows安装MongoDB
- mongodb安装与启动
- MongoDB 学习笔记(一)-MongoDB配置
- MongoDB创建数据库和删除数据库
- mongodb中$regex的用法
- MongoDB北大绿卡之安全建议
- mongodb各种导出导入数据的方法
- MongoDB windows64及32位安装
- MongoDB基础之七 用户管理
- MongoDB基础之六 索引
- 欢迎使用CSDN-markdown编辑器
- mongodb.conf配置文件详解
- 关于用mongodb java api 来实现在$project中使用$substr函数的方法
- mongodb安装配置
- MongoDB 学习笔记(一)-MongoDB配置
- flask + MongoDB 学习笔记(2):增改删查数据库
- NOSQL《二》之MongoDB的加强
- NOSQL《一》之MongoDB的理解