Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 数据库 > MongoDB > 正文

MongoDB 查询文档

时间:2014-07-26 20:32 来源:未知 作者:www.51ou.com 阅读:

find() 方法

要从MongoDB 查询集合数据,需要使用MongoDB 的 find() 方法。 51ou.com

语法

基本的find()方法语法如下

>db.COLLECTION_NAME.find()  

find() 方法将在非结构化的方式显示所有的文件。

pretty() 方法

结果显示在一个格式化的方式,可以使用 pretty() 方法.

语法:

>db.mycol.find().pretty()  

例子

>db.mycol.find().pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "tutorials point",
   "url": "http://www.51ou.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>  

除了find() 方法外,还有一个 findOne() 法,返回一个文件。 www.51ou.com

RDBMS Where子句和MongoDB等同语句

要查询文件的一些条件的基础上,可以使用下面的操作 www.51ou.com

操作 语法 例子 RDBMS 等同
Equality {<key>:<value>} db.mycol.find({"by":"tutorials point"}).pretty() where by = 'tutorials point'
Less Than {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
Less Than Equals {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
Greater Than {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
Greater Than Equals {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
Not Equals {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50

AND 在MongoDB中用法

语法:

在  find() 方法,如果通过多个键分离',',那么 MongoDB 处理 AND 条件。AND 基本语法如下所示: 51ou.com

>db.mycol.find({key1:value1, key2:value2}).pretty()  

例子

下面给出的例子将显示所有的教程,标题是“MongoDB Overview“

>db.mycol.find({"by":"tutorials point","title": "MongoDB Overview"}).pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "51ou",
   "url": "http://www.51ou.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>  

对于上面给出的例子相当于where子句 ' where by='51ou' AND title='MongoDB Overview' , 可以通过任意数量的键值对在 find 子句。  www.51ou.com

MongoDB中OR

语法:

OR条件的基础上要查询文件,需要使用$or关键字。OR 基本语法如下所示:  

>db.mycol.find(
   {
      $or: [
	     {key1: value1}, {key2:value2}
      ]
   }
).pretty() 51ou.com 

例子

下面给出的例子将显示所有的教程,由'51ou' 所写或标题是“MongoDB Overview '

>db.mycol.find({$or:[{"by":"51ou"},{"title": "MongoDB Overview"}]}).pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "51ou",
   "url": "http://www.51ou.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
> 51ou.com 

AND 和 OR 一起使用

例子

下面给出的例子将显示有像的文件大于100,其标题是“MongoDB Overview'或者是'51ou' 。等效于 SQL where子句 为 'where likes>10 AND (by = '51ou' OR title = 'MongoDB Overview')'

>db.mycol.find("likes": {$gt:10}, $or: [{"by": "51ou"}, 
{"title": "MongoDB Overview"}] }).pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "51ou",
   "url": "http://www.51ou.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>  

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《MongoDB 查询文档》技术文章,《MongoDB 查询文档》详细使用和说明,有时《MongoDB 查询文档》可能不完善、敬请谅解!如果《MongoDB 查询文档》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(1)
100%
踩一下
(0)
0%
上一篇:MongoDB 插入文档
下一篇:MongoDB 更新文档
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片