安装准备
在win7系统安装mongodb需要vc++运行库,如果没有则会提示“无法启动此程序,因为计算机中丢失
VCRUNTIME140.dll”。
安装
运行 mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi
创建几个文件夹具体如下:数据库路径(data目录)、日志路径(logs目录)和日志文件(mongo.log文件)
配置
创建配置文件mongo.conf,文件内容如下:
#数据库路径
dbpath=d:\MongoDB\Server\3.4\data
#日志输出文件路径
logpath=d:\MongoDB\Server\3.4\logs\mongo.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
安装 MongoDB服务
通过执行bin/mongod.exe,使用--install选项来安装服务,使用--config选项来指定之前创建的配置文件。 cmd进
入d:\MongoDB\Server\3.4\bin
然后执行命令:
mongod.exe ‐‐config "d:\MongoDB\Server\3.4\mongo.conf" ‐‐install
启动MongoDB:
net start MongoDB
关闭MongoDB:
net stop MongoDB
移除MongoDB服务:
" d:\MongoDB\Server\3.4\bin\mongod.exe" ‐‐remove
启动mongodb服务,
命令执行后,浏览器中输入http://127.0.0.1:27017看到
"It looks like you are trying to access MongoDB over HTTP on the native driver port."
说明安装成功.
另外,常用studio3t进行客户端链接操作MongoDB
mongoDB使用说明
在mongodb中是通过数据库、集合、文档的方式来管理数据,下边是mongodb与关系数据库的一些概念对比:
1、一个mongodb实例可以创建多个数据库
2、一个数据库可以创建多个集合
3、一个集合可以包括多个文档
常用操作指令
show dbs 查询全部数据库
db 显示当前的数据库
创建数据:
use test02 有test02数据库则切换到此数据库,没有则创建
注意:新创建的数据库不显示,至少需要一个集合.
删除数据库:
db.dropDatabase()
集合:
1.创建集合:db.createCollection(name,options)
name:新创建的集合名称
options:创建参数
2.删除集合:db.collction.drop()
例如:db.student.drop() 删除student集合
文档
1.mongodb中文档的格式是json格式,例如:
{
"_id" : ObjectId("5b2cc4bfa6a44812707739b5"),
"name" : "小明"
}
2.插入命令:
每个文档默认以_id作为主键,主键默认类型为ObjectId(对象类型),mongodb会自动生成主键值
db.COLLECTION_NAME.insert(document),例如:
db.student.insert({"name":"小明","age":10})
注意:同一个集合中的文档的key可以不相同!但是建议设置为相同的
3.更新文档
db.collection.update(
< query >,
< update >,
< options >
)
query:查询条件,相当于sql语句的where
update:更新文档内容
options:选项
1.1、替换文档
将符合条件 “name”:"小明"的第一个文档替换为{“name”:“小花”,“age”:10}。
1.2、$set修改器
使用 KaTeX parse error: Expected '}', got 'EOF' at end of input: …{"name":"小明"},{set:{“name”:“小花”,“age”:10}},{multi:true})
multi:false表示更新第一个匹配的文档,true表示更新所有匹配的文档
4.查询文档
db.collection.find(query, projection)
query:查询条件,可不填
projection:投影查询key,可不填
4.1、 查询全部
db.student.find()
4.2、查询符合条件的记录
查询name等为"小明"的文档
db.student.find({“name”:“小明”})
3、投影查询
只显示name和age两个key,_id主键不显示。
db.student.find({“name”:“小明”},{name:1,age:1,_id:0})