Mongo查询语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongo查询语句相关的知识,希望对你有一定的参考价值。
参考技术A 查询所有语句: db.mytable.find()查询特定条件: db.mytable.find(age:20)----查询年龄为20的数据
查询并返回数据: db.mytable.fing(age:20,name:1)----查询年龄为20的数据,返回其name字段
db.mytable.fing(age:20,name:0)----查询年龄为20的数据,除了name返回其他字段。
db.mytable.find(age:7,name:"amy",name:1,age:1)查询name为amy,年龄为7的记录,返回name和age字段。
查询第一条数据: db.mytable.findOne()
筛选查询: db.mytable.find(age:$gl:20)----查询年龄大于30的数据;对应的ls为小于。
db.mytable.find($or[name:"amy",age:10])----查询name为amy,或者年龄为10的数据;函数中的层级:查询条件,$or[]表达式,表达式条件。
db.mytable.find($nor[name:"amy",name:"jenny"])--查询name不为Amy也不为jenny的数据。
db.mytable.find(price:$all:[1,2])--查询数组prince中所有包含1和包含2的数据。
db.mytable.find(prince:$in:[1,2])--查询prince中的含有1和含有2的数据。
dbmytable.find(prince:$nin:[1,2])--查询prince中不含1并且不含2的数据。
分页:
db.mytable.find().skip(0).limit(10)--查询跳过0条数据后的10条数据。
简单oracle 查询语句 转换为 mongo 查询语句
可以将简单的单表查询语句转换成Mongo过滤条件
列:
1、
SELECT score,person as name FROM demo WHERE person like ‘%z‘ and score between 80 and 100
db.demo.aggregate([ {"$match": {"$and": [{"person": {"$regex": "^.*z$", "$options": "i"}}, {"score": {"$gte": 80, "$lte": 100}}]}} , {"$project": {"score": "$score", "name": "$person", "_id": 0}} ])
2、
SELECT * FROM demo WHERE score < 90 and person is not null or (score >= 90 and person <> ‘zsa‘) or person in (‘tyh‘,‘jhh‘)
db.demo.find( {"$or": [{"$and": [{"score": {"$lt": 90}}, {"person": {"$exists": true}}]}, {"$and": [{"score": {"$gte": 90}}, {"person": {"$ne": "zsa"}}]}, {"person": {"$in": ["tyh", "jhh"]}}]} )
不支持函数(sum() ,count() ....) 、常数等式(1=1 或者 1!=2 ....)
依赖 druid 的 sql 解析
代码位置:码云
以上是关于Mongo查询语句的主要内容,如果未能解决你的问题,请参考以下文章