1。连接mongodb
cmd进入mongo/bin目录下,输入:
mongo
2。创建数据库
如果数据库不存在创建数据库,否则打开该数据库。
use 数据库名
EG:创建数据库runoob
use runoob
创建并查看当前使用的数据库:
查看所有数据库:
show dbs
很显然,刚创建的数据库runoob并不在其中,要想显示,必须向数据库中插入一些数据
MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
3。删除数据库
db.dropDatabase()
查看当前数据库为runoob; 删除当前数据库;查看已有数据库内该数据库已经被删除成功。
删除集合:
db.集合名.drop()
4。插入文档
使用insert()或者save()方法插入文档。
如果集合clo不存在则自动创建;查看已经插入的文档。
db.COLLECTION_NAME.insert(document)
将数据定义一个变量document,执行插入操作
插入文档也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
5。修改文档
update()方法
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数介绍:
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如,<script type="math/tex" id="MathJax-Element-30">,</script>inc…)等,也可以理解为sql update查询内set后面的
- upsert :
可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 - multi : 可选,mongodb
默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 - writeConcern :可选,抛出异常的级别。
修改likes字段:
save()方法
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
参数说明:
- document : 文档数据。
- writeConcern :可选,抛出异常的级别。
替换id为:5a7aa751c0dd1fd67944c706的文档
6。删除文档
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档。
- writeConcern :(可选)抛出异常的级别。
删除标题为test的文档
删除第一条数据
db.COLLECTION_NAME.deleteMany(DELETION_CRITERIA,1)
删除 status 等于 D 的一个文档:
db.col.deleteOne( { status: "D" } )
删除 status 等于 A 的全部文档:
db.col.deleteMany({ status : "A" })
删除所有数据
db.col.deleteMany({})
7。查询文档
db.collection.find(query, projection)
- query :可选,使用查询操作符指定查询条件
- projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
查询文档以易读的方式读取数据:
db.col.find().pretty()
mongodb与关系型数据库的比较
AND条件
db.col.find({key1:value1, key2:value2}).pretty()
类似于where title="mongodb教程" and likes=100
OR条件
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
类似于where likes=100 or title="111"
AND与OR联合使用
类似于where by="csdn" AND (likes = 100 OR title = '111')