MongoDB查询

Posted 秋唯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB查询相关的知识,希望对你有一定的参考价值。

什么是MongoDB

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

数据库常用命令与方法
1.查看所有的数据库

$ show dbs

2.创建/切换数据库

$ use <数据库名>

3.查看当前使用的数据库

$ db

$ db.getName()

4.显示当前数据库状态

$ db.stats()

5.删除当前数据库

$ db.dropDatabase()

注意:通过 show dbs 查看是否还在

1.创建集合

$ db.createCollection(\'集合名字\')

2.查看当前数据库下所有的集合

$ db.getCollectionNames()

$ show collections

3.删除集合

$ db.集合名.drop()

那么我们如何去查询数据库里的数据呢?
查询

  • 查询所有记录
$ db.hello.find()
  • 查询 age = 22 的记录
$ db.hello.find( { age: 22 } )
  • 查询 age > 22 的记录
$ db.hello.find( { age: { $gt: 22 } } )
  • 查询 age < 22 的记录
$ db.hello.find( { age: { $lt: 22 } } )
  • 查询 age >= 22 的记录
$ db.hello.find( { age: { $gte: 22 } } )
  • 查询 age <= 22 的记录
$ db.hello.find( { age: { $lte: 22 } } )
  • 查询 age != 22 的记录
$ db.hello.find( { age: { $ne: 22 } } )
  • 查询 age >= 23 并且 age <= 26 的记录
$ db.hello.find( { age: { $gte: 23, $lte: 26 } } )
  • 查询 age >= 50 或者 name = 张三 的记录
$ db.hello.find( { $or: [ { age: { $gte: 50 } }, { name: \'张三\' } ] } )
  • 查询 name = 张三 并且 age = 20 的记录
$ db.hello.find({ name: \'张三\', age: 20 })
  • 查询 name 中包含 mongo 的记录
$ db.hello.find({ name: /mongo/ })
  • 查询 name 中以 张 开头的记录
$ db.hello.find({ name: /^张/ })
  • 查询 name 中以 mongo 结尾的记录
$ db.hello.find({ name: /mongo$/ })
  • 查询 指定 name、age 字段的记录
# _id 会默认有
$ db.hello.find({}, { name: 1, age: 1 })

# 如果不想要 _id
$ db.hello.find({}, { name: 1, age: 1, _id: 0 })

# 如果只是排除掉一个或几个
$ db.hello.find({}, { address: 0 })
  • 查询 指定 name、age 字段并且 age > 45 的记录
$ db.hello.find({ age: { $gt: 45 } }, { name: 1, age: 1 })
  • 查询 按 age 升序的记录
$ db.hello.find().sort({ age: 1 })
  • 查询 按 age 倒序的记录
$ db.hello.find().sort({ age: -1 })
  • 查询 10 条之后的记录。(跳过前10条)
$ db.hello.find().skip(10)
  • 查询 5 条记录。(限制条数)
$ db.hello.find().limit(5)
  • 查询 10 条之后的 5 条记录
$ db.hello.find().skip(10).limit(5)
  • 查询 第一条 记录
$ db.hello.findOne()
  • 获取查询结果的个数
$ db.hello.find().count()

以上就是MongoDB查询的操作,希望有帮助到你。

点关注不迷路 大家一起共进步~

如果你对前端开发的学习有兴趣,可以在B站上,找码农雨飞的免费前端学习视频,代码免费送!!! https://www.bilibili.com/video/av77505416

“哪里会有人喜欢孤独, 不过是不喜欢失望罢了。 ——村上春树《挪威的森林》

以上是关于MongoDB查询的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个查询来查找 2 个数字之间的值,这些数字是 MongoDB 中的字符串类型

详解MongoDB索引优化

你如何在 python 中处理 graphql 查询和片段?

MongoDB PHP

MongoDB atlas 成本计算,以及如何节省成本

解决mongodb查询慢的问题