crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。

一、创建操作

创建或插入操作即向 ​集合 collection​​ 添加新的 ​文档 documents​。如果插入时集合不存在,插入操作会创建该集合。

MongoDB中提供了以下方法来插入文档到一个集合:

db.collection.insert()

db.collection.insertOne()

db.collection.insertMany()

在MongoDB中,插入操作作用于单个 集合collection 。MongoDB中所有的写操作在单个 ​集合 document​​ 的层级上是 ​原子性​。

MongoDB CRUD 操作_数组

1、db.collection.insert()

​db.collection.insert()​​ 向集合插入一个或多个文档.要想插入一个文档,传递一个文档给该方法;要想插入多个文档,传递文档数组给该方法.

如下的示例向 users 集合插入了一个新的文档.新的文档有三个字段 name,``age``,和 status.由于该文档未指定 _id 字段,MongoDB 向该文档添加了值为 ​ObjectId​ 的 _id 字段


2、db.collection.insertOne()

如下的示例向 users 集合插入了一个新的文档.新的文档有三个字段 name,``age``,和 status.由于该文档未指定 _id 字段,MongoDB 向该文档添加了值为 ​ObjectId​ 的 _id 字段

 db.users.insertOne(

   {

      name: "sue",

      age: 19,

      status: "P"

   }

)

MongoDB CRUD 操作_首字母_02


3、db.collection.insertMany()

如下的示例向 users 集合插入了一个新的文档.新的文档有三个字段 name,``age``,和 status.由于该文档未指定 _id 字段,MongoDB 向该文档添加了值为 ​ObjectId​ 的 _id 字段

db.users.insertMany(

   [

     { name: "bob", age: 42, status: "A", },

     { name: "ahn", age: 22, status: "A", },

     { name: "xi", age: 34, status: "D", }

   ]

)

MongoDB CRUD 操作_软件系统_03

MongoDB CRUD 操作_数组_04


二、读取操作

读操作获取 ​集合 collection​​ 中的 ​文档 documents​ ;例如查询一个集合中的文档。MongoDB提供了如下方法从集合中读取文档:

db.collection.find()

你可以指定 ​条件或者过滤器​ 找到指定的文档.

db.users.find( <---------- collection 集合

{age:{$gt:18}}, <---------- query criteria 查询条件

{name:1,address:1} <---------- projection 查询内容

).limit(5) <---------- cursor modifier

三、更新操作

更新操作修改 ​集合 collection​​ 中已经存在的 ​文档 documents​。MongoDB提供了以下方法去更新集合中的文档:

1)db.collection.update()

2)db.collection.updateOne()

3)db.collection.updateMany()

4)db.collection.replaceOne()

在MongoDB中,更新操作作用于单个集合。MongoDB中所有的写操作在单个 ​文档 document​​ 层级上是 ​原子性的​.

你可以指定条件或过滤器来找到要更新的文档。这些 ​过滤器​ 的使用与读操作一样的语法。

db.users.update(

{age:{$gt:18}},

{$set:{status:"A"}},

{multi:true}

)

四、删除操作


删除是从一个集合中删除文档的操作。MongoDB提供下列方法从集合删除文档。

1)db.collection.delete()

2)db.collection.deleteOne()

3)db.collection.deleteMany()

在MongoDB中。删除作作用于单个集合。MongoDB中所有的写操作在单个 ​文档 document​​ 层级上是 ​原子性的​。

你可以指定条件或过滤器来找到要删除的文档。这些 ​过滤器​ 的使用与读操作一样的语法。

db.users.delete(

{status:"D"}

)

remove已经过时了

db.col.remove({'title':'MongoDB 教程'})