`

mongodb常用查询语句

阅读更多

最近换了新工作,公司项目用的mongodb比以往深一些,自己收集了一些查询语句

db.users.find() select * from users

db.users.find({"age" : 27}) select * from users where age = 27

db.users.find({"username" : "joe", "age" : 27}) select * from users where "username" = "joe" and age = 27

db.users.find({}, {"username" : 1, "email" : 1}) select username, email from users

db.users.find({}, {"username" : 1, "_id" : 0}) // no case  // 即时加上了列筛选,_id也会返回;必须显式的阻止_id返回

db.users.find({"age" : {"$gte" : 18, "$lte" : 30}}) select * from users where age >=18 and age <= 30 // $lt(<) $lte(<=) $gt(>) $gte(>=)

db.users.find({"username" : {"$ne" : "joe"}}) select * from users where username <> "joe"

db.users.find({"ticket_no" : {"$in" : [725, 542, 390]}}) select * from users where ticket_no in (725, 542, 390)

db.users.find({"ticket_no" : {"$nin" : [725, 542, 390]}}) select * from users where ticket_no not in (725, 542, 390)

db.users.find({"$or" : [{"ticket_no" : 725}, {"winner" : true}]}) select * form users where ticket_no = 725 or winner = true

db.users.find({"id_num" : {"$mod" : [5, 1]}}) select * from users where (id_num mod 5) = 1

db.users.find({"$not": {"age" : 27}}) select * from users where not (age = 27)

db.users.find({"username" : {"$in" : [null], "$exists" : true}}) select * from users where username is null // 如果直接通过find({"username" : null})进行查询,那么连带"没有username"的纪录一并筛选出来

db.users.find({"name" : /joey?/i}) // 正则查询,value是符合PCRE的表达式

db.food.find({fruit : {$all : ["apple", "banana"]}}) // 对数组的查询, 字段fruit中,既包含"apple",又包含"banana"的纪录

db.food.find({"fruit.2" : "peach"}) // 对数组的查询, 字段fruit中,第3个(从0开始)元素是peach的纪录

db.food.find({"fruit" : {"$size" : 3}}) // 对数组的查询, 查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用

db.users.findOne(criteria, {"comments" : {"$slice" : 10}}) // 对数组的查询,只返回数组comments中的前十条,还可以{"$slice" : -10}, {"$slice" : [23, 10]}; 分别返回最后10条,和中间10条

db.people.find({"name.first" : "Joe", "name.last" : "Schmoe"})  // 嵌套查询

db.blog.find({"comments" : {"$elemMatch" : {"author" : "joe", "score" : {"$gte" : 5}}}}) // 嵌套查询,仅当嵌套的元素是数组时使用,

db.foo.find({"$where" : "this.x + this.y == 10"}) // 复杂的查询,$where当然是非常方便的,但效率低下。对于复杂查询,考虑的顺序应当是 正则 -> MapReduce -> $where

db.foo.find({"$where" : "function() { return this.x + this.y == 10; }"}) // $where可以支持javascript函数作为查询条件

db.foo.find().sort({"x" : 1}).limit(1).skip(10); // 返回第(10, 11]条,按"x"进行排序; 三个limit的顺序是任意的,应该尽量避免skip中使用large-number

分享到:
评论

相关推荐

    MongoDB常用SQL操作

    以下是一些关于MongoDB常用SQL操作的关键知识点: 1. **数据模型**:MongoDB基于JSON(JavaScript Object Notation)格式的文档存储数据,这使得它能够存储复杂的数据结构,如嵌套对象和数组。 2. **连接MongoDB**...

    mongoDb 常用命令

    mongodb php distinct command --- mongoDb 常用命令

    MongoDB高级查询用法大全

    在 MongoDB 中,比较运算符用于比较字段的值,常用的比较运算符有: * $gt:大于 * $lt:小于 * $gte:大于或等于 * $lte:小于或等于 例如,要查询字段 j 大于 3,小于 4,可以使用以下语句: ``` db.things.find...

    MongoDB中的常用语句总结大全

    本文将深入探讨MongoDB中的一些常用语句,包括删除、查询、批量操作和文档关系管理。 ### 1. 删除语句 在MongoDB中,删除语句主要用于移除集合中的文档。以下是一些常见的删除操作: - `db.collection.deleteOne...

    MongoDB和Mysql常用增删改查语句

    ### MongoDB和MySQL常用增删改查语句 #### MongoDB 常用操作 **一、分组统计** 在处理大量数据时,分组统计是非常重要的一个功能。通过使用`$group`聚合阶段,我们可以根据特定字段对数据进行分组,并计算各组的...

    Mongodb常用命令和java调用

    MongoDB 使用C++编写,支持多种操作系统,并提供了丰富的查询语言,类似于面向对象的查询,允许执行类似关系数据库的单表查询操作,还支持建立索引来提升查询效率。此外,MongoDB 支持动态模式,即schema-free,这...

    MongoDB常用SQL操作.pdf

    在MongoDB中,常用的操作语句可以分为数据定义语言(DDL)和数据操纵语言(DML)。 **DDL操作:** 1. 创建集合(表) - 语法:`db.createCollection("collectionName")` - 实例:创建一个名为`user2`的集合,...

    MongoDB与MySQL常用操作语句对照

    一、MongoDB对MySQL常用的SQL语句对应的实现 代码如下: —————————————— MySQL: SELECT * FROM user Mongo: db.user.find() —————————————— MySQl: SELECT * FROM user WHERE ...

    MongoDB常用操作汇总

    MongoDB 是一个高性能、分布式、开源的...MongoDB 提供了丰富的查询和操作能力,使得开发者能够灵活地处理和管理数据。在实际应用中,可以根据业务需求选择合适的操作方法,优化数据访问效率,实现高性能的数据库操作。

    MongoDB 查询分析

    MongoDB 查询分析常用函数有:explain() 和 hint()。 使用 explain() explain 操作提供了查询信息,使用索引及查询统计等。有利于我们对索引的优化。 接下来我们在 users 集合中创建 gender 和 user_name 的索引: ...

    MongoDB思维导图,常用命令及安装使用等

    MongoDB思维导图,常用命令及安装使用等,MongoDB 是一种高性能、开源、无模式的文档型...集合操作:介绍集合(类似关系型数据库中的表)的创建、删除等操作命令,以及复杂查询语句的构建,如条件查询、排序查询等

    springdata mongodb api文档

    开发者只需要按照一定的命名规则来命名方法,SpringData就能够根据这些命名规则自动生成相应的查询语句。例如,以“findBy”开头的方法通常表示需要进行数据查找的操作。这样的约定能够让开发者在不了解查询语言的...

    mongodb客户端

    5. 查询构建器:MongoVUE提供了一个直观的查询构建器,帮助用户构造查询语句,支持基本查询、正则表达式匹配、范围查询等多种条件。 6. 导入导出:用户可以将数据导入或导出为JSON、CSV、XML等格式,方便数据迁移和...

    MongoDB的执行计划分析与巡检分享.pdf

    在MongoDB中,查询优化器负责选择最佳的方法来执行查询操作,这一过程称为“执行计划”(Execution Plan)。执行计划对于查询性能至关重要,它直接影响着查询速度和资源消耗。 #### 二、执行计划的重要性 - **性能...

    mongodb性能优化.pptx

    这可能包括调整配置、优化查询语句、添加索引等。 #### 二、MongoDB自监控工具 MongoDB提供了多种内置工具帮助用户监控数据库的状态,这些工具对于性能调优至关重要。下面详细介绍几种常用的监控工具。 ##### 1. ...

    php+mongodb小型留言板

    MongoDB提供了丰富的查询语句,如`find()`用于查找所有匹配的文档,`findOne()`用于找到第一个匹配的文档。例如,查询所有留言: ```php $query = []; $result = $collection-&gt;find($query); foreach ($result as $...

    MongoDB数据库常用操作命令7.pdf

    总结,MongoDB提供了丰富的查询和操作命令,使得在非结构化数据处理上非常灵活。熟练掌握这些命令对于日常的数据库管理、数据查询和应用程序开发都极其关键。在实际工作中,应根据具体需求灵活运用这些操作,提高...

    经典sql语句练习

    下面,我们将深入探讨SQL的基本概念、常用语句以及它们在实际中的应用。 SQL,全称为结构化查询语言,是用于管理关系数据库的标准语言。它主要用于执行以下操作:数据查询、数据更新、数据插入和数据删除。以下是...

Global site tag (gtag.js) - Google Analytics