MongoDB

一、MongoDB环境搭建

1.下载MongoDB

https://www.mongodb.org/downloads

2.安装MongoDB服务

管理员执行cmd,进入MongoDB安装目录bin/下,执行以下命令:
mongod --dbpath "D:\MongoDB\data\db" --logpath "D:\MongoDB\data\log\MongoDB.log" --install --serviceName "MongoDB"
如果报错的话,则需手动创建相应目录,相应的URL分别为数据文件和日志文件,如果服务安装错误,删掉之前的服务重装
mongod.exe --remove --serviceName "MongoDB"

3.下载数据库客户端Robomongo

http://www.robomongo.org/

4.安装程序后连接

配置参数默认即可,如果显示授权失败,是MongoDB版本的问题,解决办法

  • 将版本改为3

    use admin
    var schema = db.system.version.findOne({"_id" : "authSchema"})
    schema.currentVersion = 3
    db.system.version.save(schema) 
  • 删掉之前的用户并重建

    use test
    db.dropUser('sa')
    db.createUser({user:'sa',pwd:'123',roles:[{role:'dbOwner',db:'test'}]}) 

二、MongoDB相关操作

1.基本操作

show dbs 查看多少数据库
use imooc 切换数据库,如果没有不会报错,在需要时会自己创建
db.dropDatabase() 删除数据库
db.imooc_collection.insert() 向集合中插入文档,为JSON
db.imooc_collection.insert({x:1})
show collections == show tables 查看所有集合
db.stats() 查看数据库相应信息


2.新增

for(i = 3;i < 100;i++)db.imooc_collection.insert({x:i}) 插入可以使用js语法,多条插入


3.查询

db.imooc_collection.find() 查询相应集合中的所有文档
db.imooc_collection.find({x:1}) 查询条件为JSON
db.imooc_collection.find().count() 对查询结果计数
db.imooc_collection.find().skip(3).limit(2).sort({x:1}) 可以使用skip,limit,sort控制查询结果,1是ASC -1是DESC


4.更新

db.imooc_collection.update({x:1},{x:999}) 这样会覆盖其他变量,相当于重置
db.imooc_collection.insert({x:100,y:100,z:100})
如果只更改z而不更改x,y,用上钟方式会覆盖掉,所以应该使用$set操作符
db.imooc_collection.update({z:100},{$set:{y:99}})
更新一条不存在的数据时自动创建
db.imooc_collection.update({y:999},{y:111},true)
以上操作只会更新默认找到的第一条数据,为了防止不小心的update误操作,如果要全量更新
db.imooc_collection.update({c:1},{$set:{c:2},false,true})


5.删除

默认删除所有查到的数据,但是必须传递参数
db.imooc_collection.remove({c:2})

db.imooc_collecton.drop 删除一个集合


景初
730 声望30 粉丝

前端 / 数据挖掘 / CCIE / 炉石