MongoDB查询

Find函数

MongoDB数据查询使用find函数,其功能与sql中的select函数相同,可提供与关系型数据库类似的许多功能,包括映射、排序等。

db.query_test.find({},{_id:0,age:1},2,1).sort(age:1);

db.query_test.find({},{_id:0,age:1}).limit(2).skip(1).sort({age:1})

查询操作符介绍

db.query_test.find({age:{$eq:20}})//age等于20

db.query_test.find({age:20})//也可以写成 age:20

db.query_test.find({age:{$in:[20,21]}})//age==20 age==21

db.query_test.find({age:{$nin:[20,21]}})

db.query_test.find({$and:[{$or:[{age:19},{age:21}]},$or:[{name:”joe”},{name:”jack”}]]})

db.query_test.find({$nor:[{name:”joe”},{name:”jack”}]})

db.query_test.find({age:{$not:{$gt:22,$lte30}}})

db.query_test.find({age:{$exists:true}})

内嵌文档与数组查询

 

 

查询整个内嵌文档 示例:

Var doc1={“name”:”xiaoming”,”age”:20,”address”:{“province”:”guangdong”,”city”:”shenzhen”}}

Var doc2={“name”:”xiaoming”,”age”:20,”address”:{ ”city”:”shenzhen”,“province”:”guangdong” }}

 

db.query_test.find({“address”:{“province”:”guangdong”}})//address是内嵌文档类型,查询结果为空

db.query_test.find({“address”:{“province”:”guangdong”,”city”:”shenzhen”}})//查询结果为 doc1可见查询整个内嵌文档,需要顺序,值都匹配

查询文档的某个字段 示例:

db.query_test.find({“address.city”:{ ”shenzhen”}}) 返回:doc1 doc2

var doc1={_id:5,name:”xiaoli”,age:20,scores:[95,98,99]}

var doc2={_id:6,name:”xiaoqiang”,age:22,scores:[95,99]}

var doc3={_id:7,name:”xiaoming”,item:22,scores:[99,95,98]}

整个数组查询

db.query_array.find({scores:[95,98,99]})

数组元素(查询某一个数据元素)

db.query_array.find({scores:95})

db.query_array.find({“scores.0”:95})//查询数组中第一个元素 分数是95的文档

db.query_array.find({scores:{$all:[99,98]}})//查询条件顺序 和数组中顺序可以不同

db.query_array.find({scores:{$atelemMch:{$gt:95,$lt:99}}})

db.query_array.find(scores:{$gt:95,$lt:99})

db.query_array.find({},{scores:{$elemMatch:{$gt:95,$lt:99}}})

db.query_array.find({scores:{$size:2}})

db.query_array.find({},{scores:{$slice:[1,2]}})

db.query_array.find({scores:{$gt:94},{“scores.$”:1}})

var doc1={_id:1,name:”xiaoli”,age:20,scores:[{课程:”语文”,成绩:90},{课程:”数学”,成绩:95}]}

var doc2={_id:1,name:”xiaoqiang”,age:22,scores:[{课程:”语文”,成绩:92},{课程:”英语”,成绩:90}]}

db.array_embedded.find({‘scores.成绩’:90})

db.array_embedded.find({‘scores.1.成绩’:90})

db.array_embeddeb.find(scores:{$elemMactch:{“课程”:”语文”,”成绩”:90}})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值