加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB实行查询文档操作实例是怎样的

发布时间:2023-08-21 13:07:12 所属栏目:系统 来源:
导读:今天小编跟大家讲解下有关“MongoDB进行查询文档操作实例是怎样的”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。MongoDB简介MongoDB 是一个基于分

今天小编跟大家讲解下有关“MongoDB进行查询文档操作实例是怎样的”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

MongoDB简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

下面给大家介绍MongoDB查询文档操作的实例

先把student删除,再重新插入数据

> db.student.drop()

true

> db.student.insert([{ "_id" : 1, "name" : "zhangsan", "age": 27, "sex": 1 }, { "_id" : 2, "name" : "lisi", "age": 27 } ,{ "_id" : 3, "name" : "wangwu", "age": 30 }, { "_id" : 4, "name" : "zhaoliu", "age": 28 }, { "_id" : 5, "name" : "qianliu", "age": 33 }, { "_id" : 6, "name" : "sunba", "age": 32 }])

BulkWriteResult({

"writeErrors" : [ ],

"writeConcernErrors" : [ ],

"nInserted" : 6,

"nUpserted" : 0,

"nMatched" : 0,

"nModified" : 0,

"nRemoved" : 0,

"upserted" : [ ]

})

> db.student.find()

{ "_id" : 1, "name" : "zhangsan", "age" : 27 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

1、查询指定键

db.集合名称.find({查询条件},{指定键})

指定键:1表示显示,0表示不显示,_id默认显示

> db.student.find({},{name:1})

{ "_id" : 1, "name" : "zhangsan" }

{ "_id" : 2, "name" : "lisi" }

{ "_id" : 3, "name" : "wangwu" }

{ "_id" : 4, "name" : "zhaoliu" }

{ "_id" : 5, "name" : "qianliu" }

{ "_id" : 6, "name" : "sunba" }

> db.student.find({},{_id:0, age:0})

{ "name" : "zhangsan", "sex" : 1 }

{ "name" : "lisi" }

{ "name" : "wangwu" }

{ "name" : "zhaoliu" }

{ "name" : "qianliu" }

{ "name" : "sunba" }

> db.student.find({},{_id:0, name:1})

{ "name" : "zhangsan" }

{ "name" : "lisi" }

{ "name" : "wangwu" }

{ "name" : "zhaoliu" }

{ "name" : "qianliu" }

{ "name" : "sunba" }

2、各种查询方式

$lt:

$gte:>=

$ne:!=

> db.student.find({age:{$lt:30}})

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

> db.student.find({age:{$ne:27}})

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

$in:包含

$nin:不包含

> db.student.find({age:{$in:[27,28]}})

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

> db.student.find({age:{$nin:[27,28]}})

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

$or:或者

> db.student.find({$or:[{age:{$lt:29}}, {name:"sunba"}]})

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

null:空值

> db.student.find({sex: null})

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

$type:键是某种类型的

double:1

string:2

...

> db.student.insert({_id:7, name:7, age:70})

WriteResult({ "nInserted" : 1 })

> db.student.find({name: {$type: 2}})

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

> db.student.find({name: {$type: 1}})

{ "_id" : 7, "name" : 7, "age" : 70 }

正则表达式

> db.student.find({name: /si\b/})

{ "_id" : 2, "name" : "lisi", "age" : 27 }

db.集合名称.findOne({查询条件},{指定键})

查询出符合条件的第一条数据

> db.student.findOne()

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

db.集合名称.find({查询条件},{指定键}).limit(数字)

查询前几条数据

> db.student.find().limit(3)

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

db.集合名称.find({查询条件},{指定键}).skip(数字)

跳过前几条数据

> db.student.find().skip(2)

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

{ "_id" : 7, "name" : 7, "age" : 70 }

可以使用limit()和skip()实现分页

> db.student.find().skip(0).limit(3)

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

> db.student.find().skip(3).limit(3)

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

> db.student.find().skip(6).limit(3)

{ "_id" : 7, "name" : 7, "age" : 70 }

db.集合名称.find().sort({键:数字})

数字为1表示升序,数字为2表示降序

> db.student.find().sort({age:1})

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 7, "name" : 7, "age" : 70 }

> db.student.find().sort({age:1, _id:-1})

{ "_id" : 2, "name" : "lisi", "age" : 27 }

{ "_id" : 1, "name" : "zhangsan", "age" : 27, "sex" : 1 }

{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }

{ "_id" : 3, "name" : "wangwu", "age" : 30 }

{ "_id" : 6, "name" : "sunba", "age" : 32 }

{ "_id" : 5, "name" : "qianliu", "age" : 33 }

{ "_id" : 7, "name" : 7, "age" : 70 }

以上就是关于“MongoDB进行查询文档操作实例是怎样的”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章