mongoDB 数据查询

整理来自

 https://www.shiyanlou.com/courses/running/53

 

查询语句

1、find() 语句

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

$ sudo service mongodb start

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

$ mongo

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

> use 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()

2、pretty() 语句

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

> db.post.find().pretty()

===============================================================================================

MongoDB中的 AND

1、AND

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

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

======================================

MongoDB中的 OR

1、OR

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

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

操作示例:

> db.post.find({
    $or:[
        {"by":"shiyanlou"},
        {"title": "MongoDB Overview"}
    ]
}).pretty()
-----------------------------------------------------------------------------------------------------------------

同时使用 AND 和 OR

1、操作范例

> db.post.find({
    "likes": {$gt:10},
    $or: [
        {"by": "shiyanlou"},
        {"title": "MongoDB Overview"}
    ]
}).pretty()

{\$gt:10} 表示大于10,另外,\$lt 表示小于,\$lte 表示小于等于,\$gte 表示大于等于,\$ne 表示不等于

posted @ 2015-06-28 19:19  wind90  阅读(125)  评论(0编辑  收藏  举报