这是下载页面:
选择第二个选项:Community Server 然后点击下载按钮: DOWNLOAD (msi),进入如下页面:
到此就MongoDb就安装结束啦!!
目录:C:\Program Files\MongoDB\Server\3.6\bin
配置:
1、在E:\Work_App\MongoDB\下新建Data文件夹
2、在E:\Work_App\MongoDB\Data下新建db和log文件夹
3、在E:\Work_App\MongoDB\Data\log下新建MongoDB.log文件
配置完成后,重启电脑,
开机命令:
打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘然后输入cd d:\mongodb\bin),
输入如下的命令启动mongodb服务:
D:/mongodb/bin>mongod --dbpath D:\mongodb\data\db
mongodb默认连接端口27017,如果出现如图的情况,可以打开http://localhost:27017查看(笔者这里是chrome),发现如图则表示连接成功,如果不成功,可以查看端口是否被占用。
出现
It looks like you are trying to access MongoDB over HTTP on the native driver port.
表示链接成功。
然后,我们就能在系统的任何盘符位置,使用mongo命令了:
mongo 使用数据库
mongod 开机
mongoimport 导入数据
--dbpath就是选择数据库文档所在的文件夹。
也就是说,mongoDB中,真的有物理文件,对应一个个数据库。U盘可以拷走。
一定要保持,开机这个CMD不能动了,不能关,不能ctrl+c。 一旦这个cmd有问题了,数据库就自动关闭了。
所以,应该再开一个cmd。输入
那么,运行环境就是mongo语法了。
列出所有数据库:
1 show dbs |
使用某个数据库
1 use 数据库名字 |
如果想新建数据库,也是use。use一个不存在的,就是新建。
查看当前所在数据库
1 db |
插入数据:
student就是所谓的集合。集合中存储着很多json。
student是第一次使用,集合将自动创建。
在d:\mongodb\data下新建文件夹log(存放日志文件)并且新建文件mongodb.log
在d:\mongodb新建文件mongo.config
用记事本打开mongo.config输入:
dbpath=D:\mongodb\data\db
logpath=D:\mongodb\data\log\mongo.log
管理员身份打开cmd命令行,进入D:\mongodb\bin目录,输入如下的命令:
D:\mongodb\bin>mongod --config D:\mongodb\mongo.config
有人提醒改为如下:
mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"
如图结果存放在日志文件中,查看日志发现已经成功。如果失败有可能没有使用管理员身份,遭到拒绝访问。
打开cmd输入services.msc查看服务可以看到MongoDB服务,点击可以启动。
要管理数据库,必须先开机,开机使用mongod --dbpath c:\mongo
管理数据库:mongo (一定要在新的cmd中输入)
清屏:
1 cls |
查看所有数据库列表
1 show dbs |
使用数据库、创建数据库
1 use itcast |
如果真的想把这个数据库创建成功,那么必须插入一个数据。
数据库中不能直接插入数据,只能往集合(collections)中插入数据。不需要创建集合,只需要写点语法:
1 db.student.insert({“name”:”xiaoming”}); |
db.student 系统发现student是一个陌生的集合名字,所以就自动创建了集合。
删除数据库,删除当前所在的数据库
1 db.dropDatabase(); |
插入数据,随着数据的插入,数据库创建成功了,集合也创建成功了。
1 db.student.insert({"name":"xiaoming"}); |
我们不可能一条一条的insert。所以,我们希望用sublime在外部写好数据库的形式,然后导入数据库:
1 mongoimport --db test --collection restaurants --drop --file primer-dataset.json |
-db test 想往哪个数据库里面导入
--collection restaurants 想往哪个集合中导入
--drop 把集合清空
--file primer-dataset.json 哪个文件
这样,我们就能用sublime创建一个json文件,然后用mongoimport命令导入,这样学习数据库非常方便。
查找数据,用find。find中没有参数,那么将列出这个集合的所有文档:
1 db.restaurants.find() |
精确匹配:
1 db.student.find({"score.shuxue":70}); |
多个条件:
1 db.student.find({"score.shuxue":70 , "age":12}) |
大于条件:
1 db.student.find({"score.yuwen":{$gt:50}}); |
或者。寻找所有年龄是9岁,或者11岁的学生
1 db.student.find({$or:[{"age":9},{"age":11}]}); |
查找完毕之后,打点调用sort,表示升降排序。
1 db.restaurants.find().sort( { "borough": 1, "address.zipcode": 1 } ) |
修改里面还有查询条件。你要该谁,要告诉mongo。
查找名字叫做小明的,把年龄更改为16岁:
1 db.student.update({"name":"小明"},{$set:{"age":16}}); |
查找数学成绩是70,把年龄更改为33岁:
1 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.
1 db.student.update({"sex":"男"},{$set:{"age":33}},{multi: true}); |
完整替换,不出现$set关键字了:
1 db.student.update({"name":"小明"},{"name":"大明","age":16}); |
1 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.
1 db.restaurants.remove( { "borough": "Queens" }, { justOne: true } ) |