Mondb用法简介

Mondb用法简介

1.创建集合

db.createCollection( <name>,
    {
      capped: <boolean>,
      timeseries: {                  // Added in MongoDB 5.0
         timeField: <string>,        // required for time series collections
         metaField: <string>,
         granularity: <string>,
         bucketMaxSpanSeconds: <number>,  // Added in MongoDB 6.3
         bucketRoundingSeconds: <number>  // Added in MongoDB 6.3
      },
      expireAfterSeconds: <number>,
      clusteredIndex: <document>,  // Added in MongoDB 5.3
      changeStreamPreAndPostImages: <document>,  // Added in MongoDB 6.0
      size: <number>,
      max: <number>,
      storageEngine: <document>,
      validator: <document>,
      validationLevel: <string>,
      validationAction: <string>,
      indexOptionDefaults: <document>,
      viewOn: <string>,
      pipeline: <pipeline>,
      collation: <document>,
      writeConcern: <document>
    }
  )

创建语法详细请看官网db.createCollection() — MongoDB Manual

db.createCollection("items",{capped:true,size:2048,max:12})

image-20240125140315443.png

2.查看集合

show tables;
或
show collections;

image-20240125141227156.png

3.删除集合

db.collectionName.drop()
#drop the collection
db.items.drop()

image-20240125141723285.png

4.插入文档

image-20240125142207031.png
从mongodb官网看出,插入文档支持3钟方式
1.插入单个文档

db.collection.insertOne(
    <document>,
    {
      writeConcern: <document>
    }
)

2.批量插入

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

3.万能插入(可以一次性插入一个或多个文档)

db.collection.insert(
   <document or array of documents>,
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

image-20240125143346329.png

5.查询文档

db.collection.find( <query>, <projection>, <options> )
db.collection.findOne( <query>, <projection>, <options> )

在这里插入图片描述
image-20240125144303087.png
mongodb支持丰富的查询过滤条件,参考Query and Projection Operators — MongoDB Manual

6.删除文档

image-20240125144831513.png
1.删除单个文档

db.collection.deleteOne(
    <filter>,
    {
      writeConcern: <document>,
      collation: <document>,
      hint: <document|string>        // Available starting in MongoDB 4.4
    }
)

2.删除多个文档

db.collection.deleteMany(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)

3.删除与指定筛选器匹配的单个文档或所有文档。

db.collection.remove(
    <query>,
    {
      justOne: <boolean>,
      writeConcern: <document>,
      collation: <document>,
      let: <document> // Added in MongoDB 5.0
    }
)

image-20240125145438521.png

7.更新文档

image-20240125145508099.png
1.最多更新一个匹配指定筛选器的文档,即使多个文档可能匹配指定筛选器。

db.collection.updateOne(
   <filter>,
   <update>,
   {
     upsert: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2.1
   }
)

2.更新与指定筛选器匹配的所有文档。

db.collection.updateMany(
   <filter>,
   <update>,
   {
     upsert: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2.1
   }
)

3.最多替换一个匹配指定筛选器的文档,即使多个文档可能匹配指定筛选器。

db.collection.replaceOne(
   <filter>,
   <replacement>,
   {
      upsert: <boolean>,
      writeConcern: <document>,
      collation: <document>,
      hint: <document|string>                   // Available starting in 4.2.1
   }
)

4.更新或替换匹配指定筛选器的单个文档,或更新匹配指定筛选器的所有文档。
默认情况下,db.collection.update()方法更新单个文档。要更新多个文档,请使用multi选项。

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>        // Available starting in MongoDB 4.2
   }
)

image-20240125150454519.png
以上语句将原来name="lisi"的person修改为“wangwu”,并将其年龄+2
文档更新同样支持非常复杂的语句,参考官网Update Operators — MongoDB Manual

8.聚集运算

db.collection.aggregate( <pipeline>, <options> )

image-20240126092339474.png
1.过滤年龄大于25
2.根据name分组,并计算年龄总和
聚集运算支持非常复杂的语句,参考官网Aggregation Pipeline Stages — MongoDB Manual

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值