mongdb与redis二:mongodb操作
一、mongoDB数据库操作
1.创建数据库:use 数据库名
如果数据库不存在,则创建数据库并切换到此数据库;否则切换到指定的数据库。
2.查看所有数据库:show dbs
如果刚创建的数据库不在列表内,想要显示它,需要向刚创建的数据库中插入一些数据。
向当前数据库插入一个集合和文档:db.student.insert({"name": "jerry", "age": 15})。
当此数据库有任何集合或文档的时侯,才可以显示在数据库列表中。
3.查看当前正在使用的数据库:db或者db.getName()
4.退出数据库:exit
5.查看命令api帮助: help
6.删除数据库:先切换到数据库,再db.dropDatabase
二、集合操作
1.查看当前数据的所有集合: show collections
2.创建集合:
a.语法:db.createCollection("集合名")
b.语法:db.集合名.insert(文档)
3.删除集合:先切换到数据库,再db.集合名.drop()
三、文档操作
1.插入文档:
a.使用insert()方法插入文档
插入一个文档,语法:db.集合名.insert(文档)
db.student.insert({"name": "jerry", "age": 15})
插入多个文档:,语法:db.集合名.insert([文档1,文档2....])
db.student.insert([{"name": "jason", "age": 18}, {"name": "andy", "age": 35}])
b.使用save()方法插入文档:它既可插入,也可修改文档。
语法: db.student.save(文档)
说明:如果不指定_id字段,save方法和insert方法一样,插入一条数据。
如果指定_id字段,则会更新_id字段的数据
示例,插入:db.student.save({"name": "jerry", "age": 15})
示例,修改:db.student.insert({"_id": ObjectId(ID的值 ), "name": "jerry", "age": 15})
2.更新文档:
a.update()方法,用于更新已存在的文档
语法:db.集合名.update(
query,
update,
{ upset: <boolen>,multi :<boolean>,writeConcern:<文档>}
)
参数说明:
query:update的查询条件,类似于sql里update的where条件
update:update的对象和一些更新的操作符($set,$inc等)。$set直接更新,$inc在原值的基础上累加
upset:可选参数。如果不存在update的记录,是否作为新文档插入。true为插入;false为不插入,默认为false
multi:可选参数。默认为flase。为false,只更新找到的第一条记录;为true,所有记录都更新
writeConcern:可先参数。抛出异常的级别。
示例:将jerry的年龄更新为25
db.student.update({"name":"jerry"}, {$set: {"age":35}})
注意:如果update未设置任何参数,则将替换原文档
示例:db.student.update({"name":"jerry"}, {"age":35})
结果:是将原文档更新为{"age":35},其它字段将被删除
示例:将jerry的年龄加25
db.student.update({"name": "jerry"}, {$inc: {"age":25}})
示例:有两条jason的记录,将第一记录的年龄更新为30
db.student.update({"name":"jason"}, {$set: {"age": 30}})
示例:有两条jason的记录,将所有记录的年龄更新为30
db.student.update({"name":"jason"}, {$set: {"age": 30}}, {"multi": true})
b.save()方法,通过传入的文档替换已有的文档
语法: db.集合名.save(
文档,
{"writeConcern": 文档,是否抛出异常}
)
3.文档删除:
说明:在执行remove()删除之前,先执行find()判断执行的条件是否存在
语法:db.集合名.remove(
query,
{
justOne:布尔值,
writeConcern: 文档,是否抛出异常
}
)
参数说明:
query:可先参数,删除文档的条件
justOne:可选参数。如果为true或1,则只删除一个文档;如果为false或-1,则删除所有文档
writeConcern:可选参数,抛出异常的级别。
示例:删除名字为jerry的文档
先切换到当前数据库
db.students.remove({"name":"jerry"})
示例:删除所有名字为jason的文档
db.students.remove({"name":"jerry"},{"justOne":false})
4.文档查询:
a. find()方法: db.集合名.find(
query,
{key1:1,
key2:1,}
)
如果find()没有条件,则查询集合的所有文档
示例:查询所有男性的学生的姓名和年龄
db.student.find({"sec": 1},{"name":1, "age": 1})
find()方法的pretty()方法:以格式化的方式来显示
db.student.find({"sex": 1},{"name":"age": 1}).pretty()
b. findOne()方法:查询匹配结果的第一条数据
示例:db.student.findOne({"sex": 1})
posted on 2018-08-13 01:01 myworldworld 阅读(113) 评论(0) 收藏 举报
浙公网安备 33010602011771号