MongoDB 查询语法与常用查询语句总结

MongoDB 常用查询语句总结

先来一波查询语句语法的基本解释:

列子:

db.mycol.find({"likes": {$gt:10}, $or: [{"by": "yiibai tutorials"}, {"title": "MongoDB Overview"}]}
,{likes:1,ip:1}
)

find里面,可以填入两个大括号,第一个表示筛选条件,第二个表示你想要返回的字段

先说第二个,稍微简单一些:

{likes:1,ip:0}表示返回likes字段,返回ip字段,那么剩余其他字段呢?不返回!1表示返回,0表示不返回,当然
{likes:1,ip:0}这种情况是不允许的,执行的时候会报错。

再说第一个,语法比较多:

第一点: 所有的筛选条件都放在这里面。用{}包围
第二点:如果你是要查name=“jay”的数据,直接用

db.mongoTest.find({name:'jay'})

第三点: 如果你还有其他and条件就需要使用到and操作符。

db.mycol.find({$and:[{"by":"aaa"},{"title": "bbb"}]})`

这条语句的意思就是查询by=aaa并且title=bbb的数据。

`db.mycol.find({$and:[{"age":{$gt:10}},{"title": "bbb"}]}) 

这条语句表示你想查询age大于10并且title=bbb的数据。
第四点:如果你需要使用到or条件就需要使用$or操作符,其实使用方法和and类似,这里不在累述。

db.mycol.find({$or: [ {key1: value1}, {key2:value2} ] })

第五点:如果你既有and又有or。如果and里面有两个条件,or里面也有两个条件呢?

db.mycol.find({"likes": {$gt:10}, 
		$or: [{"by": "yiibai tutorials"},{"title": "MongoDB Overview"}]})
db.mycol.find({$and: [{content:"cs"},{likes: {$gt:10}}],
		$or: [{"by": "yiibai tutorials"},{"title": "MongoDB Overview"}]})

等效于关系型数据库中的大于小于等操作符列表

操作示例等效语句
相等db.mycol.find({“by”:“yiibai”})where age = 30
小于db.mycol.find({“likes”:{$lt:50}})where age < 30
小于等于db.mycol.find({“likes”:{$lte:50}})where age <= 30
大于db.mycol.find({“likes”:{$gt:50}})where age > 30
大于等于db.mycol.find({“likes”:{$gte:50}})where age >= 30
不想等db.mycol.find({“likes”:{$ne:50}})where age != 30

顺带提一句:在xml文件写sql语句不能直接写<=,需要这样写:

age &lt;= 30

或者使用<![CDATA[ sql内容 ]]>将sql语句包裹住:

where 
<![CDATA[
	age &lt;= 30
       ]]>
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页