Javascript 知识点逐步分析与解剖Web前端之路让前端飞

mongodb 增删改查

2017-01-20  本文已影响149人  Ziksang

https://docs.mongodb.com/getting-started/shell/
上面是mongodb AIP文档我们点击进入
MongoDB Shell (mongo) Edition (this edition) 这个是让我们在cmd控制台自己进行输出的增删改查

现在下的version都是3.3.2以上的,里面的引擎也改掉了,所以不要用mongovue这个可视化工具了,推荐用http://www.mongobooster.com/
直接下接,就可以用

还是费话不多说,也不一定能把所有的增删改查的全讲完,有多少写多少,不行以后知道更多了再补,先把一个基本的写上去

如何对mongdb前期的一些准备我就不多说了,不知道的可以看一上一篇

1增

db.students.insert({"name":"ziksang"})
这是往集合中增加一条document

我们可以看出来如果一条一条插数据的话,会死的,而且命令输入太麻烦
所以我们可以用
mongoimport --db test --collection restaurants --drop --file ~/downloads/primer-dataset.json
mongoimport代表导入数据
--db test 代表选择那个数据库
--collection restaurants 代表选择那个集合
--drop 删除里面所有的所有document
--file 代表导入文件
~/downloads/primer-dataset.json 表示文件路径,你可以直接用鼠标托到cmd里面就可能以
文件格式要这样

{"name":"aaaaaa","age":20,"sex":"boy","hobby":["f","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"bbbbbb","age":10,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":80,"english":100}}
{"name":"cccccc","age":3,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":70}}
{"name":"dddddd","age":20,"sex":"boy","hobby":["d","b","c"],"scroe":{"shuxue":10,"english":70}}
{"name":"ffffff","age":10,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"gggggg","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"hhhhhh","age":8,"sex":"boy","hobby":["h","b","c"],"scroe":{"shuxue":20,"english":80}}
{"name":"jjjjjj","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":40,"english":60}}
{"name":"kkkkkk","age":8,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":80}}
{"name":"llllll","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"qqqqqq","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}

2删

db.dropDatabase()
删除你所在的当前数据库!!这个一定要小心,不会给你任何提示,然后就删除了

db.students.drop()
删除数据库中students集合

db.students.remove({"age":20})
删除所有students集合中age:20的文档

db.students.remove({"age":100},{ justOne: true })
删除最前面一条age:100的文档

3改

单个修改
db.students.update({"name":"qqqqqq"},{$set:{"age":100}})
把学生集合中 name =qqqqq 的 age改成100,但只能修改最上面的一条

多个修改
db.students.update({},{$set:{"age":100}},{multi:true})
查询条件为所有,把所有人的年纪都改成100 mult:true 这个表示多条件更改

把集合中的一个document完整替换
db.students.update({"name":"qqqqqq"},{"name":"iiiiii","age":100})
把name叫qqqqqq的一整条document 全部替换成{"name":"iiiiii","age":100}

db.restaurants.find()
如果find里没有查询条件时,则是列出集合中所有的文档

db.students.find({"scroe.shuxue":20})
这个是精确匹配

db.students.find({"scroe.shuxue":20,"scroe.english":100})
多选项匹配,因为集合中的文档可以存js中的各种数据类型,里面传的是一个对象.属性来进行查询

条件查询

db.students.find({"scroe.shuxue":{$gt:50}})
选择数学成绩大于50的
db.students.find({"scroe.shuxue":{$gte:80}})
选择数学成绩大于等于80的

db.students.find({"scroe.shuxue":{$lt:80}})
选择数学成绩小于80的
db.students.find({"scroe.shuxue":{$lte:80}})
选择数学成绩小于等于80的

db.students.find({$or : [{"age":3},{"age":10}]})
选择年龄等于3岁或者10岁的都可以

db.students.find().sort({"scroe.shuxue":-1,"age":1})
排列,进入学生集合查询,进行 分数降序排,如果分数相同,则年龄升序排 -1表示降序 1表示升序

这些是基本的操作,你们可以拿着我mongoimport那些数据后进行把这些一个一个都走一遍,基本的就掌握了

上一篇下一篇

猜你喜欢

热点阅读