专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

十三、MongoDB 插入文档

文章永久连接:https://tech.souyunku.com/3657
MongoDB insert() 方法 或 save() 方法可以用来插入数据到 MongoDB 的集合中

MongoDB 文档的数据结构和 JSON 基本一样

存储在 MongoDB 集合中的数据都是 BSON 格式

BSON 是一种类 json 的一种二进制形式的存储格式,简称 Binary JSON

insert() 方法

MongoDB 使用 insert() 或 save() 方法向集合中插入文档

insert() 方法语法格式如下

db.COLLECTION_NAME.insert(document)

范例

这个范例使用 insert() 方法将文档存储到 souyunku 数据库的 lession 集合中

> db.lession.insert({title: 'MongoDB 基础教程', 
    description: 'MongoDB 是最流行的 Nosql 数据库',
    by: 'penglei',
    url: 'https://tech.souyunku.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    favorite: 1000000
})
WriteResult({ "nInserted" : 1 })

如果 lession 集合不在数据库 souyunku 中, MongoDB 会自动创建该集合并插入文档

查看已插入文档

> db.lession.find()
{
    "_id" : ObjectId("59ed9d2dc3ba87608db0fe4b"), 
    "title" : "MongoDB 基础教程", 
    "description" : "MongoDB 是最流行的 Nosql 数据库", 
    "by" : "penglei", 
    "url" : "https://tech.souyunku.com", 
    "tags" : [ "mongodb", "database", "NoSQL" ], 
    "favorite" : 1000000 
}

我们可以将数据先赋值给一个变量

语法如下

variable_name = ( document_data );

小括号是可选的

比如下面把 MongoDB 基础教程 文档赋值给 doc 变量

> doc=({
    "title" : "MongoDB 基础教程", 
    "description" : "MongoDB 是最流行的 Nosql 数据库", 
    "by" : "penglei", 
    "url" : "https://tech.souyunku.com", 
    "tags" : [ "mongodb", "database", "NoSQL" ], 
    "favorite" : 1000000 
});

然后再使用 insert 方法将文档插入到集合中

> db.lession.insert(doc)
WriteResult({ "nInserted" : 1 })
>

执行后显示结果如下:

> db.lession.find()
{ "_id" : ObjectId("59ed9d2dc3ba87608db0fe4b"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "penglei", "url" : "https://tech.souyunku.com", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
{ "_id" : ObjectId("59ed9efdc3ba87608db0fe4c"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "penglei", "url" : "https://tech.souyunku.com", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
> 

save() 方法

插入文档也可以使用 db.lession.save(document) 方法

如果不指定 _id 字段 save() 方法类似于 insert() 方法

如果指定 _id 字段,则会更新该 _id 的数据

save() 方法语法格式如下

db.COLLECTION_NAME.save(document)

范例

这个范例使用 save() 方法将文档存储到 souyunku 数据库的 lession 集合中

> db.lession.save({title: 'MongoDB 基础教程', 
    description: 'MongoDB 是最流行的 Nosql 数据库',
    by: 'penglei',
    url: 'https://tech.souyunku.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    favorite: 1000001
})
WriteResult({ "nInserted" : 1 })

使用 find() 方法查询刚刚保存的数据

> db.lession.find()
{ "_id" : ObjectId("59ed9d2dc3ba87608db0fe4b"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "penglei", "url" : "https://tech.souyunku.com", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
{ "_id" : ObjectId("59ed9efdc3ba87608db0fe4c"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "penglei", "url" : "https://tech.souyunku.com", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
{ "_id" : ObjectId("59ed9fc5c3ba87608db0fe4d"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "penglei", "url" : "https://tech.souyunku.com", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000001 }

干货推荐

本站推荐:精选优质专栏

附录:MongoDB 教程:系列文章

未经允许不得转载:搜云库技术团队 » 十三、MongoDB 插入文档

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们