简述MongoDB中文档的增删改查 ?

参考回答

在 MongoDB 中,文档的增删改查操作对应以下方法:

  1. 新增文档insertOne()insertMany() 用于插入单个或多个文档。
  2. 删除文档deleteOne()deleteMany() 删除符合条件的文档。
  3. 更新文档updateOne()updateMany() 更新单个或多个文档。
  4. 查询文档find() 用于根据条件查询文档。

详细讲解与拓展

1. 新增文档

方法
insertOne(document):插入单个文档。
insertMany(documents):插入多个文档。

示例
插入单个文档:

db.users.insertOne({ name: "Alice", age: 25, city: "New York" })
JavaScript

插入多个文档:

db.users.insertMany([
    { name: "Bob", age: 30, city: "Chicago" },
    { name: "Charlie", age: 35, city: "Los Angeles" }
])
JavaScript

2. 删除文档

方法
deleteOne(filter):删除符合条件的第一条文档。
deleteMany(filter):删除所有符合条件的文档。

示例
删除年龄为 30 的用户(仅删除第一条):

db.users.deleteOne({ age: 30 })
JavaScript

删除所有年龄大于 25 的用户:

db.users.deleteMany({ age: { $gt: 25 } })
JavaScript

3. 更新文档

方法
updateOne(filter, update, options):更新符合条件的第一条文档。
updateMany(filter, update, options):更新所有符合条件的文档。

更新操作符
$set:更新或添加字段。
$inc:对数值字段递增。
$unset:移除字段。

示例
更新名字为 Alice 的用户,将年龄设置为 28:

db.users.updateOne({ name: "Alice" }, { $set: { age: 28 } })
JavaScript

更新所有年龄小于 30 的用户,城市设置为 “San Francisco”:

db.users.updateMany({ age: { lt: 30 } }, {set: { city: "San Francisco" } })
JavaScript

移除字段 city

db.users.updateOne({ name: "Alice" }, { $unset: { city: "" } })
JavaScript

4. 查询文档

方法
find(query, projection):查询符合条件的文档。

常用操作符
– 比较操作符:$eq, $gt, $lt, $gte, $lte, $ne
– 逻辑操作符:$and, $or, $not, $nor

示例
查询年龄大于 25 的用户:

db.users.find({ age: { $gt: 25 } })
JavaScript

查询名字为 Alice 的用户,只返回 nameage 字段:

db.users.find({ name: "Alice" }, { name: 1, age: 1, _id: 0 })
JavaScript

查询多个条件的用户(年龄大于 25 且城市为 Chicago):

db.users.find({ and: [{ age: {gt: 25 } }, { city: "Chicago" }] })
JavaScript

示例:综合操作

  1. 插入数据:
    db.users.insertMany([
       { name: "Alice", age: 25, city: "New York" },
       { name: "Bob", age: 30, city: "Chicago" },
       { name: "Charlie", age: 35, city: "Los Angeles" }
    ])
    
    JavaScript
  2. 查询数据:
    db.users.find({ age: { $gte: 30 } })
    
    JavaScript
  3. 更新数据:
    db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } })
    
    JavaScript
  4. 删除数据:
    db.users.deleteMany({ age: { $gte: 35 } })
    
    JavaScript

总结

MongoDB 提供了简单且灵活的增删改查操作。通过 insertOneinsertMany 实现数据插入,使用 deleteOnedeleteMany 删除数据,通过 updateOneupdateMany 更新数据,并通过 find 查询文档。结合操作符与条件,可以高效地管理和查询数据。合理使用这些方法,可以优化性能并满足各种业务需求。

发表评论

后才能评论