美文网首页
MongoDB 基本操作整理(二)

MongoDB 基本操作整理(二)

作者: 莫夏_b560 | 来源:发表于2019-01-09 10:31 被阅读0次

1、MongoDB投影(选择字段)

投影表示仅选择所需要字段的数据,而不是选择整个文档字段的数据

语法

>db.COLLECTION_NAME.find({},{KEY:1})
> db.mycol.find({}, {'title':1,'_id':0})
{ "title" : "MongoDB Guide" }
{ "title" : "NoSQL Database" }
{ "title" : "Python Quick Guide" }
{ "title" : "MongoDB Overview" }

> db.mycol.find({}, {'title':1,'by':1, 'url':1})
{ "_id" : 101, "title" : "MongoDB Guide", "by" : "yiibai tutorials", "url" : "http://www.yiibai.com" }
{ "_id" : 102, "title" : "NoSQL Database", "by" : "yiibai tutorials", "url" : "http://www.yiibai.com" }
{ "_id" : 104, "title" : "Python Quick Guide", "by" : "yiibai tutorials", "url" : "http://www.yiibai.com" }
{ "_id" : 100, "title" : "MongoDB Overview", "by" : "yiibai tutorials", "url" : "http://www.yiibai.com" }
>

请注意,在执行find()方法时,始终都会显示_id字段,如果不想要此字段,则需要将其设置为0。

2、MongoDB限制记录数

(1)MongoDB limit()方法
要限制 MongoDB 中返回的记录数,需要使用limit()方法。
该方法接受一个数字类型参数,它是要显示的文档数。
语法limit()方法的基本语法如下:

> db.COLLECTION_NAME.find().limit(NUMBER)

Shell示例假设集合myycol有以下数据。

> db.mycol.find({},{'_id':1, 'title':1})
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 104, "title" : "Python Quick Guide" }
{ "_id" : 100, "title" : "MongoDB Overview" }
>

Shell以下示例将在查询文档时仅显示两个文档。

> db.mycol.find({},{"title":1,_id:0}).limit(2)
{ "title" : "MongoDB Guide" }
{ "title" : "NoSQL Database" }
>

如果没有在limit()方法中指定number参数的值,那么它将显示集合中的所有文档。

(2)MongoDB skip()方法

MongoDB skip()方法除了limit()方法之外,还有一个方法skip()也接受数字类型参数,用于跳过文档数量。
语法skip()方法的基本语法如下 -

>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

Shell示例以下示例将仅显示第三个文档。

> db.mycol.find({},{"title":1,_id:0}).limit(1).skip(2)
{ "title" : "Python Quick Guide" }
>

请注意,skip()方法中的默认值为0。

3、MongoDB排序记录

MongoDB sort()方法要在MongoDB中排序文档,需要使用sort()方法。
该方法接受包含字段列表及其排序顺序的文档。使用指定排序顺序1和-1。

1用于升序,而-1用于降序。

语法sort()方法的基本语法如下 -

>db.COLLECTION_NAME.find().sort({KEY:1})

Shell示例假设集合myycol有以下数据。

> db.mycol.find({},{'_id':1, 'title':1})
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 104, "title" : "Python Quick Guide" }
{ "_id" : 100, "title" : "MongoDB Overview" }
>

Shell以下示例将按标题降序排序显示文档。

> ## 按`title`降序排序
> db.mycol.find({},{"title":1,_id:0}).sort({"title":-1})
{ "title" : "Python Quick Guide" }
{ "title" : "NoSQL Database" }
{ "title" : "MongoDB Overview" }
{ "title" : "MongoDB Guide" }
> ## 按`title`升序排序
> db.mycol.find({},{"title":1,_id:0}).sort({"title":1})
{ "title" : "MongoDB Guide" }
{ "title" : "MongoDB Overview" }
{ "title" : "NoSQL Database" }
{ "title" : "Python Quick Guide" }
>

Shell以下示例将按“_id”降序和升序排序显示文档。

> 按“_id”升序排序
> db.mycol.find({},{"title":1,_id:1}).sort({"_id":1})
{ "_id" : 100, "title" : "MongoDB Overview" }
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 104, "title" : "Python Quick Guide" }
> # 按“_id”降序排序
> db.mycol.find({},{"title":1,_id:1}).sort({"_id":-1})
{ "_id" : 104, "title" : "Python Quick Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 100, "title" : "MongoDB Overview" }
>

相关文章

网友评论

      本文标题:MongoDB 基本操作整理(二)

      本文链接:https://www.haomeiwen.com/subject/undwrqtx.html