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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28483283/article/details/82910741

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
       ]]>

猜你喜欢

转载自blog.csdn.net/qq_28483283/article/details/82910741
今日推荐