你越是认真生活,你的生活就会越美好
——弗兰克·劳埃德·莱特
《人生果实》经典语录
mongodb – 菜鸟教程文档
内容来自菜鸟教程文档,这里整理成一篇文章,一方面加深自己印象,另一方面方便查找对应语法,而且自己的内容,想怎么调整就怎么调整
mongodb数据库结构:数据库->集合->文档
传统关系型数据库:数据库->表 ->列
启动MongoDB服务(安装可以参考mongodb中文文档里步骤)
mongo
use jianhongDbs
如果数据库jianhongDbs
不存在,则创建jianhongDbs
数据库,否则切换到jianhongDbs
数据库。
db
show dbs
可以看到,我们刚创建的数据库jianhongDbs
并不在数据库的列表中, 要显示它,我们需要向jianhongDbs
数据库插入一些数据。
// 这里表示在当前数据库下的jianhongDbs集合插入一条数据
db.jianhongDbs.insert({
"name":"菜鸟教程"})
show dbs
MongoDB
中默认的数据库为test
,如果你没有创建新的数据库,集合将存放在 test 数据库中。
PS:
在 MongoDB 中,集合只有在内容插入后才会创建!
就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
db.dropDatabase()
删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。
db.collection.drop()
> use runoob
switched to db runoob
> db.createCollection("runoob") # 先创建集合runoob,类似数据库中的表
> show tables # show collections 命令会更加准确点
runoob
> db.runoob.drop()
true
> show tables
mongodb数据库结构:数据库->集合->文档
将数据插入到 MongoDB 的集合中。
文档的数据结构和 JSON 基本一样。
所有存储在集合中的数据都是 BSON 格式。
BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document)
或
db.COLLECTION_NAME.save(document)
_id 主键存在
则更新
数据,如果不存在
就插入
数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。3.2 版本
之后新增了db.collection.insertOne()
和 db.collection.insertMany()
。
db.collection.insertOne()
用于向集合插入一个新文档,语法格式如下:
db.collection.insertOne(
<document>,
{
writeConcern: <document>
}
)
db.collection.insertMany()
用于向集合插入多个文档,语法格式如下:
db.collection.insertMany(
[ <document 1> , <document 2>, ... ],
{
writeConcern: <document>,
ordered: <boolean>
}
)
参数说明:
以下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中:
db.col.insert({
title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
查看集合内的文档:
db.col.find()
// { "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
document=({
title: 'MongoDB 教程2',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
});
db.col.insert(document)
插入文档你也可以使用db.col.save(document)
命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
db.col.save(document)
document = {
"_id" : ObjectId("5feb521ae93dfe96489f733b"),
"title" : "MongoDB 教程3",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100.0
}
db.col.save(document)
db.col.find()
PS
数据库->集合->文档
:_id
的值,系统会自动生成
,为ObjectId类型谢谢你阅读到了最后~
期待你关注、收藏、评论、点赞~
让我们一起 变得更强
推荐阅读
MongoDB中的多表关联查询、聚合管道($lookup、$unwind)
mongodb、mongoose相关
前端linux基础,这一篇就够了