1. MongoDB 创建数据库
语法:
use DATABASE_NAME

note:查看所有数据库使用show dbs
创建的空数据库 test并不在数据库的列表中,需要向 test数据库插入一些数据才能显示它。

2.MongoDB 删除数据库
MongoDB 删除数据库的语法
db.dropDatabase()
只有先进入相应的数据,执行drop操作才会把test 库数据删除。

3. MongoDB插入文档
3.1 MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document)
案例如下:
> use test
switched to db test
> db.col.insert({blog: '少年阿斌的博客',
... description: '这真是有趣的博主',
... by: 'wqbin',
... url: 'https://www.cnblogs.com/wqbin/',
... tags: ['学习', '睡觉', '写代码'],
... job: "算法工程师"
... })
WriteResult({ "nInserted" : 1 })
> db.col.find()
{ "_id" : ObjectId("5dc02bb1e66db8e50e787f5d"), "blog" : "少年阿斌的博客", "description" : "这真是有趣的博主", "by" : "wqbin", "url" : "https://www.cnblogs.com/wqbin/", "tags" : [ "学习", "睡觉", "写代码" ], "job" : "算法工程师" }
>
col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
我们也可以将数据定义为一个变量,如下所示:
> doc=({blog: '王阳的博客',
... description: '这真是爱学习的博主',
... by: 'wqbin',
... url: 'https://www.cnblogs.com/wqbin/',
... tags: ['机器学习', 'NLP', 'Fintect'],
... job: "算法工程师"
... })-————>返回如下:
{
"blog" : "王阳的博客",
"description" : "这真是爱学习的博主",
"by" : "wqbin",
"url" : "https://www.cnblogs.com/wqbin/",
"tags" : [
"机器学习",
"NLP",
"Fintect"
],
"job" : "算法工程师"
}
>
> db.col.insert(doc)
WriteResult({ "nInserted" : 1 })
>

插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
3.2插入一条文档数据与插入多条文档数据
db.collection.insertOne():向指定集合中插入一条文档数据。 db.collection.insertMany():向指定集合中插入多条文档数据。
案例如下:
> var document = db.collection.insertOne({"title": "代码1"})
> document
{
"acknowledged" : true,
"insertedId" : ObjectId("5dc02d83e66db8e50e787f5f")
}
> db.collection.find()
{ "_id" : ObjectId("5dc02d83e66db8e50e787f5f"), "title" : "代码1" }
>
插入多条数据案例如下:
> var res = db.collection.insertMany([{"title": "代码2"}, {'title': "代码3"}])
> res
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5dc02dfae66db8e50e787f60"),
ObjectId("5dc02dfae66db8e50e787f61")
]
}
> db.collection.find()
{ "_id" : ObjectId("5dc02d83e66db8e50e787f5f"), "title" : "代码1" }
{ "_id" : ObjectId("5dc02dfae66db8e50e787f60"), "title" : "代码2" }
{ "_id" : ObjectId("5dc02dfae66db8e50e787f61"), "title" : "代码3" }
并发现可以重复插入还不报错:

4. MongoDB 删除文档
MongoDB remove()函数是用来移除集合中的数据。
MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。
remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。
remove() --过时 deleteOne() deleteMany()
如删除集合下全部文档:
> db.col.deleteMany({})
{ "acknowledged" : true, "deletedCount" : 2 }
> db.col.find()
>
删除 title 等于 "代码" 的全部文档
db.collection.deleteMany({ title : "代码"})
删除 title 等于 "代码" 的一个文档,如果多条则按时间删除最久的
db.col.deleteOne({"title":"代码3"})
{ "acknowledged" : true, "deletedCount" : 1 }
5. MongoDB 查询文档
MongoDB 查询文档使用 find() 方法。
find() 方法以非结构化的方式来显示所有文档。
语法
db.collection.find(query, projection)
query:可选,使用查询操作符指定查询条件projection:可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
MongoDB 查询数据的语法格式如下(pretty() 方法以格式化显示):

MongoDB 与 RDBMS Where 语句比较

6.1 MongoDB AND 条件
MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件。
语法格式如下: