MongoDB学习笔记
在线练习命令(免安装学习)
MongoDB Web shell : https://docs.mongodb.com/manual/tutorial/getting-started/
MongoDB 创建数据库
use 要创建的数据库名
如果数据库不存在,则创建数据库,否则切换到指定数据库。
注意:此时使用 show dbs;查看数据库,并没有显示刚才创建的数据库名,只有想刚创建的数据库名中插入数据才能显示数据。
案例:
use test
>>>switched to db test //输出已切换到test数据库
show dbs; //显示所有数据库,此时并没有刚才创建的数据库
>>> admin 0.000GB
config 0.000GB
local 0.000GB
db.test.insert({"name":"test"}) //想刚创建好的数据库中插入数据
show dbs //再次查看所有数据库
>>> admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
此时便显示刚才创建的test数据库
MongoDB 查看数据库
show dbs;
MongoDB 删除数据库
删除数据库只需切换到要删除的数据库,然后使用 db.dropDatabase() 函数即可删除数据库
案例:
use test // 切换到要删除的数据库
>>> switched to db runoob
db.dropDatabase() //删除刚数据库
show dbs; //再次查看数据库 ,发现test数据库已经被删除了!
>>> admin 0.000GB
config 0.000GB
local 0.000GB
MongoDB创建集合
使用方法:
db.createCollection(name, options)
//name 即为要创建的集合的名字,option为可选参数,指定有关内存大小及索引的选项
案例:
use test;
db.createCollection("blogsx") //创建集合名为blogsx的集合
MongoDB查看集合
使用方法:
show collections
// 或者
show tables
案例:
show collections
>>> blogsx //显示已创建的集合名
MongoDB删除集合
语法格式:
db.collection.drop()
案例:
db.blogsx.drop()
MongoDB插入文档
使用方法:
db.COLLECTION_NAME.insert(document) //COLLECTION_NAME为创建的集合名,document为json格式的文档
案例:
db.blogsx.insert({"name":"文档"})
MongoDB 查询文档
MongoDB 查询文档使用 find() 方法。
格式:
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
案例:
db.blogsx.find()//查寻blogsx集合中的所有文档
db.blogsx.find().pretty()//格式化的方法查询所有文档
MongoDB 更新文档
MongoDB 使用 update() 和 save() 方法来更新集合中的文档。update() 方法用于更新已存在的文档,save() 方法通过传入的文档来替换已有文档
update()方法案例:
db.blogsx.update({'name':'文档'},{$set:{'name':'mongoBB 文档'}})
//将原来的'name':'文档' 更新为 'name':'mongoBB 文档'
查看更新结果:
db.blogsx.find().pretty()
// 1
{
"_id": ObjectId("5e929bee3d451a1db00047d4"),
"name": "mongoBB 文档"
}
save()方法案例:
db.blogsx.save({
"_id" : ObjectId("5e929bee3d451a1db00047d4"), //
"name": "mongoBB 文档使用save方法更新"
})
查看更新结果:
db.blogsx.find().pretty()
// 1
{
"_id": ObjectId("5e929bee3d451a1db00047d4"),
"name": "mongoBB 文档使用save方法更新"
}
MongoDB 删除文档
格式:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
案例:
db.blogsx.remove({"name":"mongoBB 文档使用save方法更新"})
验证删除查询:
db.blogsx.find().pretty()
查询结果:
// No Document