MongoDB快速入门CRUD

1. 数据库管理

1.1 切换数据库

切换到名为 myDatabase 的数据库。如果该数据库不存在,MongoDB 会在第一次写入数据时自动创建它。

use myDatabase;

1.2 查看当前数据库

显示当前使用的数据库的名称。

db;

1.3 显示所有数据库

列出当前 MongoDB 实例中的所有数据库。

show dbs;

2. 集合管理

2.1 创建集合

在当前数据库中创建一个名为 book 的集合。集合是 MongoDB 中存储文档的地方。

db.createCollection("book");

2.2 创建有验证规则的集合

创建一个名为 books 的集合,设置为 capped(固定大小)并定义验证规则。该集合最多可容纳 1000 个文档,大小限制为 1024 字节。

db.createCollection("books", {
    capped: true,
    size: 1024,
    max: 1000,
    validator: {
        $jsonSchema: {
            bsonType: "object",
            required: ["book_name", "book_money"],
            properties: {
                book_name: {
                    bsonType: "string",
                    description: "书名必须为字符串且为必填项"
                },
                book_money: {
                    bsonType: "string",
                    description: "价格必须为字符串且为必填项"
                }
            }
        }
    },
    validationLevel: "strict",
    validationAction: "error"
});

3. 文档操作

3.1 插入单个文档

向 book 集合中插入一个文档,包含书名、价格和语言字段。

db.book.insertOne({
    name: "《疯狂Java讲义》第六版",
    money: 100,
    language: "Java"
});

3.2 插入多个文档

使用 insertMany 方法一次性插入多个文档到 books 集合中。

db.books.insertMany([
    {
        book_name: "《疯狂Python讲义》",
        book_money: "123"
    },
    {
        book_name: "《刘海柱》",
        book_money: "30"
    }
]);

4. 更新文档

4.1 更新单个文档

更新 _id 为特定值的文档,将 book_name 和 book_money 字段设置为新的值。

db.books.updateOne(
    {
        _id: ObjectId("66c3069ea50d000087000a10")
    },
    {
        $set: {
            book_name: "《维生素》",
            book_money: "30"
        }
    },
    {
        upsert: false
    }
);

4.2 更新多个文档

更新所有 book_name 为 "《买瓜子》" 的文档,将其字段更新为新的值。

db.books2.updateMany({
    book_name: "《买瓜子》"
}, {
    $set: {
        book_name: "修改了 ",
        book_money: "55"
    }
});

5. 查询文档

5.1 查找单个文档

查找 book_name 为 "《奥里给》" 的第一个文档并返回。

db.books2.findOne(
    {
        book_name: "《奥里给》"
    }
);

5.2 查找多个文档

查找 book_money 小于 "40" 的所有文档。

db.books2.find({
    book_money: {
        $lt: "40"
    }
});

6. 删除文档

6.1 删除多个文档

删除所有 book_name 为 "诶" 的文档。

db.books2.deleteMany(
    {
        book_name: "诶"
    }
);

6.2 删除单个文档

删除 book_name 为 "《维生素666t》" 的单个文档。

db.books2.deleteOne(
    {
        book_name: "《维生素666t》"
    }
);

6.3 查找并删除文档

查找并删除 book_name 为 "爱的番茄" 的文档。

db.books2.findOneAndDelete(
    {
        book_name: "爱的番茄"
    }
);

7. 排序与限制

7.1 排序结果

db.books2.find().sort({
    book_sort: -1
});

7.2 跳过和限制结果

跳过前 2 个结果,并限制返回 3 个文档。

db.books2.find().skip(2).limit(3);

8. 使用逻辑操作符

8.1 使用 $and

查找 book_name 不等于 "《奥里给》" 且 book_money 不等于 "30" 的文档。

db.books2.find({
    $and: [
        {
            book_name: {
                $ne: "《奥里给》"
            }
        },
        {
            book_money: {
                $ne: "30"
            }
        }
    ]
});

8.2 使用 $or

查找 book_name 为 "奥迪卡" 或 "哈哈哈" 的文档。

db.books2.find(
    {
        $or: [
            {
                book_name: "奥迪卡"
            },
            {
                book_name: "哈哈哈"
            }
        ]
    }
).pretty();

总结

通过以上操作,我们可以看到 MongoDB 提供了丰富的功能来管理和操作数据。无论是插入、更新、查询还是删除,MongoDB 都为开发者提供了灵活和高效的方式来处理数据。希望这篇入门指南能帮助你更好地理解和使用 MongoDB。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

服务端相声演员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值