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 } )

results matching ""

    No results matching ""