MongoDB查询语句简要分析

find() 语句

启动MongoDB服务,因为mongoDB并不随系统一起启动,可能以下命令运行后会等一小段的时间才会启动完毕。

sudo service mongodb start

进入MongoDB命令行操作界面,在命令行中敲exit可以退出

mongo

find() 用法:db.COLLECTION_NAME.find()

> use post #创建post数据库,并向其中插入文档
> db.post.insert([
{
   title: 'MongoDB Overview',
   description: 'MongoDB is no sql database',
   by: 'shiyanlou',
   url: 'http://www.shiyanlou.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   title: 'NoSQL Database',
   description: "NoSQL database doesn't have tables",
   by: 'shiyanlou',
   url: 'http://www.shiyanlou.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 20,
   comments: [
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2013,11,10,2,35),
         like: 0
      }
   ]
}
])

查询数据,不加任何参数默认返回所有数据记录:

db.post.find()

pretty() 语句

pretty() 可以使查询输出的结果更美观。

db.post.find().pretty()

MongoDB中的 AND

当 find() 中传入多个键值对时,MongoDB就会将其作为 AND 查询处理。用法:db.mycol.find({ key1: value1, key2: value2 }).pretty()

db.post.find({"by":"shiyanlou","title": "MongoDB Overview"}).pretty()

MongoDB中的 OR

MongoDB中,OR 查询语句以 $or 作为关键词,用法如下:

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

同时使用 AND 和 OR

> db.post.find({
    "likes": {$gt:10},
    $or: [
        {"by": "shiyanlou"},
        {"title": "MongoDB Overview"}
    ]
}).pretty() #<span style="color: rgb(51, 51, 51); font-family: 'Microsoft Yahei'; font-size: 16px; line-height: 25.59375px;">{\$gt:10} 表示大于10,另外,\$lt 表示小于,\$lte 表示小于等于,\$gte 表示大于等于,\$ne 表示不等于。</span>
时间: 2024-10-10 17:55:40

MongoDB查询语句简要分析的相关文章

MongoDB查询语句

看了些资料,对应只需要知道怎么查询和使用mongodb的我来说,这些足够啦. 左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" : 27}) select * from users where age = 27 db.users.find({"username" : "joe", "age" : 

MongoDB 查询分析

MongoDB 查询分析可以确保我们建议的索引是否有效,是查询语句性能分析的重要工具. MongoDB 查询分析常用函数有:explain() 和 hint(). 使用 explain() explain 操作提供了查询信息,使用索引及查询统计等.有利于我们对索引的优化. 接下来我们在 users 集合中创建 gender 和 user_name 的索引: >db.users.ensureIndex({gender:1,user_name:1}) </p> <p>现在在查询语

MongoDB查询分析

MongoDB 查询分析可以确保我们建立的索引是否有效,是查询语句性能分析的重要工具.MongoDB 查询分析常用函数有:explain() 和 hint(). 1. explain(): 提供查询信息,使用索引及查询统计,有利于我们对索引的优化. 使用示例: db.users.find({gender:"M"},{user_name:1,_id:0}).explain() 2. hint(): 强迫MongoDB使用一个指定的索引(为了提高查询性能) 使用示例: db.users.f

mongodb的查询语句学习摘要

看了些资料,对应只需要知道怎么查询和使用mongodb的我来说,这些足够啦. 左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" : 27}) select * from users where age = 27 db.users.find({"username" : "joe", "age" :

MongoDB简单查询语句

左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. 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 "us

mongodb查询操作分析

背景 mongodb 提供了类sql的数据查询及操作方式,同时也包含了聚合操作.索引等多个机制: 按以往的经验,不当的库表操作或索引模式往往会造成许多问题,如查询操作缓慢.数据库吞吐量低下.CPU或磁盘IO飙升等问题. 因此在应用开发过程中,有必要对DB操作进行审视,尤其是关键业务或复杂条件查询.mongodb 提供了explain方法可以让我们 对 DB查询语句进行分析,提前分析潜在的瓶颈. 查询计划 mongodb 通过查询计划(QueryPlan)描述一个查询语句的执行过程,而通常一个查询

linux下开启mysql慢查询,分析查询语句

一,为什么要开启这个查询呢? 数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了.mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化.这也是发这篇博文的原因 二,开启mysql的慢查询 方法1,用命令开启慢查询 查看复制打印? mysql> show variables like "%long%";         //查看一下默认为慢查询的

Explain分析查询语句

?表的读取顺序 读取操作的类型 可用索引,实际使用的索引 表之间的引用 每张表多少行被优化器查询 索引的长度 EXPLAIN字段解释: ØTable:显示这一行的数据是关于哪张表的 Øpossible_keys:显示可能应用在这张表中的索引.如果为空,没有可能的索引.可以为相关的域从WHERE语句中选择一个合适的语句 Økey:实际使用的索引.如果为NULL,则没有使用索引.MYSQL很少会选择优化不足的索引,此时可以在SELECT语句中使用USE INDEX(index)来强制使用一个索引或者

oracle中简单查询语句的格式及执行顺序分析

一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ...   [HAVING ...]]--GROUP BY对前面where条件过滤后的结果进行分组,HAVING过滤行组 [ORDER BY ...]--对结果进行排序 eg: 现在有个exchangetime表,表结构如下 名称                                            是否为空? 类型 ----------------