Mongo
非关系型数据库
1 安装
2 使用
mongo 使用数据库
mongod 开机
mongoimport 导入数据
开机
mongod -dbpath /Users/kylinhuang/learn/db
-dbpath 数据库文档位置
保持开机状态 不要关闭
使用数据库
# 使用数据库
mongo
# 列出所有的数据库
show dbs
# 使用某个数据库/新建数据库
use 数据库名
# 查看 当前所在数据库
db
# 插入数据
db.student.insert({"name":"kylinhuang","age":25});
# 查看 当前数据库所有集合
show collections
# 查询 student 中所有数据
db.student.find();
# 删除 数据库
db.dropDatabase();
导入数据
mongoimport --db test --collection restaurants --drop --file primer-dataset.json
-db test 想往哪个数据库里面导入
--collection restaurants 想往哪个集合中导入
--drop 把集合清空
--file primer-dataset.json 哪个文件
这样,我们就能用sublime创建一个json文件,然后用mongoimport命令导入,这样学习数据库非常方便。
4.1 插入数据
db.student.insert({"name":"xiaoming"});
4.2 查找数据
查找数据,用find。find中没有参数,那么将列出这个集合的所有文档:
db.restaurants.find()
精确匹配:
db.student.find({"score.shuxue":70});
多个条件:
db.student.find({"score.shuxue":70 , "age":12})
大于条件:
db.student.find({"score.yuwen":{$gt:50}});
或者。寻找所有年龄是9岁,或者11岁的学生
db.student.find({$or:[{"age":9},{"age":11}]});
查找完毕之后,打点调用sort,表示升降排序。
db.restaurants.find().sort( { "borough": 1, "address.zipcode": 1 } )
4.3 修改数据
修改里面还有查询条件。你要该谁,要告诉mongo。
查找名字叫做小明的,把年龄更改为16岁:
db.student.update({"name":"小明"},{$set:{"age":16}});
查找数学成绩是70,把年龄更改为33岁:
db.student.update({"score.shuxue":70},{$set:{"age":33}});
更改所有匹配项目:"
By default, the update() method updates a single document. To update multiple documents, use the multi option in the update() method.
db.student.update({"sex":"男"},{$set:{"age":33}},{multi: true});
完整替换,不出现$set关键字了:
db.student.update({"name":"小明"},{"name":"大明","age":16});
4.4 删除数据
db.restaurants.remove( { "borough": "Manhattan" } )
By default, the remove() method removes all documents that match the remove condition. Use the justOne option to limit the remove operation to only one of the matching documents.
db.restaurants.remove( { "borough": "Queens" }, { justOne: true } )