MongoDB常用命令指南

115 阅读4分钟

定义🌳

  • What is MongoDB?

MongoDB 是一个文档数据库,具有您所需的可扩展性和灵活性以及所需的查询和索引。

  • What is a Database?

数据库保存一组集合。数据库通常有一个单独的文件系统目录来保存其数据。每个数据库在文件系统上都有自己的文件集。通常,您将数据库与一个应用程序相关联。

  • What is a Collection?

集合是一组文档。如果文档是关系数据库表中行的 MongoDB 模拟,那么集合就是表的模拟。

  • What is a Document?

MongoDB中的一条记录就是一个文档,它是由字段和值对组成的数据结构。MongoDB 文档类似于 JSON 对象。字段的值可以包括其他文档、数组和文档数组。

  • What is a Field?

文档具有动态模式。动态模式允许同一集合中的文档具有不同的字段集,并且公共字段具有不同的字段名称。

  • What is a Primary Key?

在 MongoDB 中,存储在集合中的每个文档都需要一个唯一的 _id 字段作为主键。如果插入的文档省略 _id 字段,MongoDB 驱动程序会自动为 _id 字段生成一个 ObjectId。

  • Why use NoSQL?

NoSQL 数据库的构建允许在没有预定义模式的情况下插入数据。这使得 NoSQL 数据库成为存储和处理非结构化数据的理想选择。

  • Why use MongoDB?

MongoDB 是一个文档数据库,这意味着它将数据存储在类似 JSON 的文档中。我们相信这是思考数据的最自然的方式,并且比传统的行/列模型更具表现力和更强大。


(更|多优质内|容:java567 点 c0m)

MongoDB Shell 命令🍃🌲

  • Show Database
 show dbs

此命令将显示 MongoDB 服务器中的所有数据库。


  • Use Database
 use <database_name>

该命令将切换到您要使用的数据库。


  • Show Collections
 show collections

此命令将显示您正在使用的数据库中的所有集合。


  • Drop Database
 db.dropDatabase()

此命令将删除您正在使用的数据库。


  • Create Collection
 db.createCollection("<collection_name>")

此命令将在您正在使用的数据库中创建一个集合。


  • Insert a Document
 db.<collection_name>.insertOne({
     <key>: <value>,
     <key>: <value>,
     ...
 })

此命令将在您正在使用的集合中插入文档。


  • Insert Multiple Documents
 db.<collection_name>.insertMany([
     {
         <key>: <value>,
         <key>: <value>,
         ...
     },
     {
         <key>: <value>,
         <key>: <value>,
         ...
     },
     ...
 ])

此命令将在您正在使用的集合中插入多个文档。


  • Find Documents
 db.<collection_name>.find()

此命令将查找您正在使用的集合中的所有文档。


  • Find Documents with Query
 db.<collection_name>.find({
     <key>: <value>
 })

此命令将查找您正在使用的集合中与查询匹配的所有文档。


  • Count Documents
 db.<collection_name>.find({
     <key>: <value>
     }).count()

此命令将计算您正在使用的集合中与查询匹配的所有文档。


  • Limit Documents
 db.<collection_name>.find().limit(<number>)

该命令将限制 find 命令返回的文档数量。


  • forEach()
 db.<collection_name>.find().forEach(function(doc) {
     print("Key: " + doc.<key> + " Value: " + doc.<value>);
 })

此命令将迭代您正在使用的集合中的所有文档,并打印每个文档的键和值。


  • Find One Document
 db.<collection_name>.findOne({
     <key>: <value>
 })

此命令将查找您正在使用的集合中与查询匹配的第一个文档。


  • Update a Document
 db.<collection_name>.updateOne({
     <key>: <value>
 }, {
     $set: {
         <key>: <value>
     }
 })

此命令将更新您正在使用的集合中与查询匹配的第一个文档。$set 用于更新文档。


  • Increment a Document
 db.<collection_name>.updateOne({
     <key>: <value>
 }, {
     $inc: {
         <key>: <value>
     }
 })

此命令将增加您正在使用的集合中与查询匹配的第一个文档中的键值。$inc 用于增加键的值。


  • Delete a Document
 db.<collection_name>.deleteOne({
     <key>: <value>
 })

此命令将删除您正在使用的集合中与查询匹配的第一个文档。


  • Add new field to a Document
 db.<collection_name>.updateOne({
     <key>: <value>
 }, {
     $set: {
         <new_key>: <new_value>
     }
 })

此命令将向您正在使用的集合中与查询匹配的第一个文档添加一个新字段。


  • Greater than
 db.<collection_name>.find({
     <key>: {
         $gt: <value>
     }
 })

此命令将查找您正在使用的集合中键大于值的所有文档。


  • Greater than or equal to
 db.<collection_name>.find({
     <key>: {
         $gte: <value>
     }
 })

此命令将查找您正在使用的集合中键大于或等于该值的所有文档。


  • Less than
 db.<collection_name>.find({
     <key>: {
         $lt: <value>
     }
 })

此命令将查找您正在使用的集合中键小于该值的所有文档。


  • Less than or equal to
 db.<collection_name>.find({
     <key>: {
         $lte: <value>
     }
 })

此命令将查找您正在使用的集合中键小于或等于该值的所有文档。


  • Not equal to
 db.<collection_name>.find({
     <key>: {
         $ne: <value>
     }
 })

此命令将查找您正在使用的集合中键不等于值的所有文档。


  • And
 db.<collection_name>.find({
     $and: [
         {
             <key>: <value>
         },
         {
             <key>: <value>
         }
     ]
 })

此命令将查找您正在使用的集合中与查询匹配的所有文档。


  • Or
 db.<collection_name>.find({
     $or: [
         {
             <key>: <value>
         },
         {
             <key>: <value>
         }
     ]
 })

此命令将查找您正在使用的集合中与查询匹配的所有文档。


  • Sort
 db.<collection_name>.find().sort({
     <key>: <value>
 })

此命令将按键对您正在使用的集合中的所有文档进行排序。


  • Sort Descending
 db.<collection_name>.find().sort({
     <key>: -1
 })

此命令将按键降序对您正在使用的集合中的所有文档进行排序。


  • Drop Collection
 db.<collection_name>.drop()

此命令将删除您正在使用的集合。


谢谢你🌿

感谢您花时间阅读我的博客文章!我希望您发现它有帮助且内容丰富。您的支持和参与对我来说意义重大。如果您有任何问题或反馈,请随时与我们联系。感谢您的持续关注,并期待将来分享更多有价值的内容。再一次感谢你!

(更|多优质内|容:java567 点 c0m)