CRUD 操作

miomiora大约 2 分钟MongoDBMongoDB数据库

  • SQL 对应的关系
SQLMongoDB
databasedatabase
tablecollection
rowdocument
columnfield
indexindex
joins无表连接,使用嵌入式文档替代
primary keyprimary key

以下操作均是对于 document

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

插入单条数据, 这里没有显式的创建 user 集合,直接执行插入语句会判断是否存在该集合,没有该集合会自动创建,插入的时候没有指定 _id 则会自动分配 ObjectId

miodb> db.user.insertOne({"name":"miomiora", "age":24, "gender":"男"})
{
  acknowledged: true,
  insertedId: ObjectId("641fba25e438a9958f14131a")
}

查询语句 db.COLLECTION_NAME.find(<query>, [projection],其中 findOne()方法只返回一个文档

miodb> db.user.findOne()
{
    _id: ObjectId("641fba25e438a9958f14131a"),
    name: 'miomiora',
    age: 24,
    gender: '男'
}

db.COLLECTION_NAME.updateOne(
   <filter>,
   <update>,
   {
     upsert: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ],
     hint:  <document|string>      
   }
)

把所有性别为 的文档改为 , $set 表示只替换后面的键值对

miodb> db.user.updateMany({gender:"男"}, {$set:{gender:"女"}})
{
  acknowledged: true,
  insertedId: null,
  matchedCount: 2,
  modifiedCount: 2,
  upsertedCount: 0
}

# 此外还有 deleteMany() 方法
db.COLLECTION_NAME.deleteOne(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>,
      hint: <document|string>
   }
)

示例

miodb> db.user.deleteOne({gender:"女"})
{ acknowledged: true, deletedCount: 1 }
上次编辑于:
贡献者: miomiora