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查询语句的主要内容,如果未能解决你的问题,请参考以下文章

如何用sql语句查询mongo db数据库

Mongo基础篇之查询

node.js查询语句封装

kettle中mongodb查询语句怎么写

如何数组字段里面进行查询,sql语句该怎么样写?

mongo 的简单查询语法