MongoDB CRUD操作:插入文档

MongoDB CRUD操作:插入文档

文章目录

在MongoDB中插入文档的集中方式:

  • 使用编程语言提供的驱动程序,在应用中调用API进行插入。
  • 使用MongoDB Atlas UI插入文档。
  • 使用MongoDB Compass、mongosh。
  • 使用其他第三方工具。

使用MongoDB Atlas UI插入文档

要使用MongoDB Atlas UI插入文档可以按照下面的步骤进行:

  1. 打开集合

    • 打开MongoDB Atlas UI,点击侧边栏的Database
    • 找到对应的数据库实例,点击Browse Collections
    • 在左侧的导航面板选择数据库
    • 在左边的导航面板选择集合
  2. 添加文档

    • 点击Insert Document
    • 点击**{}**图标,打开JSON视图
    • 将文档数组粘贴到文本输入框,例如,下面的JSON文本可以创建4个文档,每个文档都有3个字段:
    json 复制代码
    [
    { "prodId": 100, "price": 20, "quantity": 125 },
    { "prodId": 101, "price": 10, "quantity": 234 },
    { "prodId": 102, "price": 15, "quantity": 432 },
    { "prodId": 103, "price": 17, "quantity": 320 }
    ]
  3. 点击插入

MongoDB Atlas 将文档添加到集合中。

插入单个文档

使用db.collection.insertOne()可以向集合插入一个文档。下面的例子向inventory集合中插入一个文档。如果文档没有指定_id字段,Mongo DB会使用ObjectId给插入的文档自动生成_id字段。

js 复制代码
db.inventory.insertOne(
   { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)

insertOne()返回一个包含新插入文档_id字段值的文档。如果要查看刚插入的文档,可以使用find()进行查询:

js 复制代码
db.inventory.find( { item: "canvas" } )

插入多个文档

db.collection.insertMany()可以将多个文档插入到集合。需要将文档数组传递给insertMany()

下面的示例将三个新文档插入inventory集合。如果文档未指定_id字段,MongoDB 会为每个文档自动增加一个ObjectId类型的_id字段。

js 复制代码
db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

insertMany() 返回一个包含新插入文档 _id 字段值的文档。要检索插入的文档,可以使用find()查询集合:

js 复制代码
db.inventory.find( {} )

插入行为

自动创建集合

如果插入操作时目标集合不存在,MongoDB会自动创建该集合。

_id字段

在MongoDB中,集合中的每个文档必须要有唯一的_id字段,并且作为主键索引。如果插入的文档缺少_id字段,MongoDB驱动会自动产生一个ObjectId作为_id字段的值。这个规则同样适用于更新操作时的upset:true时。

原子性

在MongoDB中,单个文档的写操作具有原子性。

写确认

通过写关注,可以指定MongoDB对写操作进行确认的级别。

相关推荐
@游子1 小时前
SQL注入语法和介绍(一)
数据库·oracle
蒋士峰DBA修行之路4 小时前
实验十三 WDR诊断报告
数据库
杂亿稿4 小时前
数据库的约束
数据库
u***32434 小时前
使用python进行PostgreSQL 数据库连接
数据库·python·postgresql
Codingwiz_Joy4 小时前
Day44 盲注、报错注入 & 实战复现
数据库·安全性测试
7***99876 小时前
GaussDB数据库中SQL诊断解析之配置SQL限流
数据库·sql·gaussdb
Wang's Blog7 小时前
MongoDB小课堂: 文档操作核心技术指南:主键机制、CRUD操作与最佳实践
数据库·mongodb
g***26798 小时前
最新SQL Server 2022保姆级安装教程【附安装包】
数据库·性能优化
风123456789~9 小时前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase
4***72139 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django