mongodb基本的增删改

MongoDB基本的增删改

  1. 连接到MongoDB
  2. 选择数据库
  3. 插入数据
    1. 插入单个文档
    2. 插入多个文档
  4. 查询数据
    1. 查询所有文档
    2. 条件查询
  5. 更新数据
    1. 更新单个文档
    2. 更新多个文档
  6. 删除数据
    1. 删除单个文档
    2. 删除多个文档
  7. 断开连接
  8. 关于save和update

连接到MongoDB

首先,确保MongoDB已经安装并正在运行。然后使用MongoDB的客户端工具(如Mongo Shell)连接到数据库。

mongo

选择数据库

在连接后,可以选择要操作的数据库。如果数据库不存在,MongoDB会自动创建。

use mydb

插入数据

3.1 插入单个文档

要插入单个文档,可以使用insertOne方法:

Copy code
db.mycollection.insertOne({
    "name": "John",
    "age": 30,
    "email": "john@example.com"
})

3.2 插入多个文档
要插入多个文档,可以使用insertMany方法:

Copy code
db.mycollection.insertMany([
    {
        "name": "Alice",
        "age": 25,
        "email": "alice@example.com"
    },
    {
        "name": "Bob",
        "age": 28,
        "email": "bob@example.com"
    }
])

查询数据

4.1 查询所有文档
要查询集合中的所有文档,可以使用find方法:

Copy code
db.mycollection.find()

4.2 条件查询
可以使用条件查询来筛选文档:

Copy code
db.mycollection.find({"age": {$gte: 25}})

更新数据

要更新文档,可以使用updateOne或updateMany方法:

5.1 更新单个文档

Copy code
db.mycollection.updateOne(
    {"name": "John"},
    {$set: {"age": 31}}
)

5.2 更新多个文档

Copy code
db.mycollection.updateMany(
    {"age": {$lt: 30}},
    {$set: {"status": "young"}}
)

删除数据

要删除文档,可以使用deleteOne或deleteMany方法:

6.1 删除单个文档

Copy code
db.mycollection.deleteOne({"name": "Alice"})

6.2 删除多个文档

Copy code
db.mycollection.deleteMany({"status": "young"})

断开连接

最后,不要忘记在完成操作后断开与数据库的连接:

Copy code
quit()

关于save和update的一些说明:

save方法:

  • save方法可以用于插入新文档或更新已存在文档的操作。如果提供的文档包含_id字段,并且数据库中已存在具有相同id值的文档,save方法将更新现有文档,否则将插入新文档。
    使用save方法时,需要传递整个文档对象,而不仅仅是要更新的字段。
    save方法在某些情况下可能不够灵活,因为它要求提供整个文档。

  • update方法:

    updateOne和updateMany方法提供了更灵活的方式来更新文档。它们允许指定要更新的条件,并且只更新满足条件的文档。
    使用update方法时,只需提供要更新的字段和相应的操作,而不需要整个文档。这使得更新操作更加精确和高效。

例子
// 插入一条新文档
db.mycollection.save({
    "name": "John",
    "age": 30,
    "email": "john@example.com"
});

// 更新匹配条件的第一个文档
db.mycollection.update(
    {"name": "John"},
    {$set: {"age": 31}}
);
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elik-hb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值