目录
介绍
概念解析
安装
启动时注意事项
NodeJs操作Mongo
介绍
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
概念解析
安装
1:安装mongodb-win32-x86_64-3.2.5-signed.msi
2:手动创建目录 如 C:\data\db 及 C:\data\dbConf
我们希望将数据库及相关配置和日志等放入这两个目录中
3:管理员身份运行 cmd
C:\Windows\System32\cmd.exe (找到该软件,右键,管理员身份运行)
4:进入安装文件夹
cd C:\Program Files\MongoDB\Server\3.2\bin
注意跨盘符的问题
5:执行命令,数据库存储位置
mongod.exe --dbpath C:\data\db 注意:有时候第5步执行后,有可能dos窗口无法输入内容,需要关掉窗口重新打开,执行第6步;(或ctrl+c终止当前命令)
6:执行命令,日志和服务
mongod.exe --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
注意:在复制这一行的时候,要一行复制。windows记事本-格式-取消自动换行
7:win+r > services.msc
找到刚才创建的服务,YourServiceName,启动它,如果启动失败,尝试重启电脑。
8:在nodejs的项目中,添加模块
npm install mongodb 注意:要先在dos窗口内进入项目文件夹,然后npm命令将模块插入
9:编写app.js
数据库相关代码,会在该页面后面介绍。
10:node app.js
指开启服务
安装数据库可视化工具
robomongo-0.9.0-rc7-windows-x86_64-2b7a8ca.exe
1:打开该工具
2:开启连接窗口 MongoDB Connections
3:点击Create按钮创建一个连接,按照默认项保存即可
4:选中该连接,点击连接按钮
启动时注意事项
执行了 mongod.exe --dbpath C:\data\db 之后打开一个新管理员窗口到bin路劲下执行mongo就是启动mongodb数据库。 注意:此方法 mongod.exe --dbpath C:\data\db 可以理解为启动服务,mongo可以理解为连接数据库。启动完之后就关闭那个窗口再连接会报‘由于目标计算机积极拒绝,无法连接’,所以此方法不推荐使用
执行安装第六条的命令 mongod.exe --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install 之后再从命令行输入services.msc找到YourServiceName服务,右键启动此服务,打开管理员dos窗口到bin路劲下输入mongo就可以连接mongodb数据库,此方法推荐使用。执行了第六条命令(一边即可),往后需要启动连接,仅需要从命令行输入services.msc找到 YourServiceName服务,右键启动此服务就可以连接了
NodeJs操作Mongo
进入项目路劲下,安装mongodb插件 npm install mongodb
var MongoClient=require('mongodb').MongoClient;
//.MongoClient是mongodb下的对象,可以理解为连接对象
var url = "mongodb://localhost:27017/data"
//url它不是一个网址,可以理解成数据库的地址,在//的右边local的左边可以写账户密码,端口后面是数据库
MongoClient.connect(url,function(err,db){
if(err) throw err;
console.log('数据库已创建')
db.close() //可以理解为把db关闭了,关闭了就不能使用db这个参数
})
以下代码是做一些简单的增删改查文章来源:https://www.toymoban.com/news/detail-697777.html
var MongoClient = require('mongodb').MongoClient //npm i mongodb 安装驱动
var url = "mongodb://localhost:27017/day0516" //端口后面的data是数据库表示进入data数据库
var http = require('http')
http.createServer((req,res)=>{
res.writeHead(200,{
"Content-Type":"text/html;charset=utf-8"
})
//只要访问这个JS文件,就直接打开数据库
MongoClient.connect(url,function(err,db){
//一个电脑里面可以有很多数据库,下面语义是进入到data数据库里
var dbase = db.db("day0516")
if(req.url=='/'){
//创建一个集合(表),集合的命叫userlist,第二个参数
dbase.createCollection('userlist',function(err,result){
console.log('服务创建成功')
})
res.end();
}else if(req.url=='/insert'){
//在数据库中找到表,然后用insertOne插入一条数据,insertMany可以插入多条数据
// var myobj = {"user":"张三","password":"123"}
var myobj = [
{"user":"刘备","password":"111","random":parseInt(Math.random()*1000)},
{"user":"关羽","password":"222","random":parseInt(Math.random()*1000)},
{"user":"张飞","password":"333","random":parseInt(Math.random()*1000)}
]
dbase.collection('userlist').insertMany(myobj,function(err,result){
console.log('文档插入成功');
res.end()
})
}else if(req.url=='/select'){
//查询数据,排序,数量
var nul ={} //无条件查询,查询所有
var where = {user:'张飞',password:'333'} //查询条件为user是张飞并且密码是333
var mysort = {random:-1} //排序 random语义是根据random字段进行排序
// limit(3) 表示返回3条数据
// skip(1) 表示跳过1条
dbase.collection('userlist').find(nul).sort(mysort).skip(1).limit(2).toArray(function(err,result){
console.log(result)
result.forEach(data=>{
res.write(data.user+":"+data.password+" - "+data.random+'<br>')
})
res.end()
})
}else if(req.url=='/update'){
//更新数据 updateOne更新一条数据 updateMany更新多条数据
var whereStr = {"user":"张飞"} //表示更新条件
var updateStr = {$set:{"password":"44444"}} //表示新的值
dbase.collection('userlist').updateOne(whereStr,updateStr,function(err,result){
console.log('文档更新成功',result);
res.end()
})
}else if(req.url=='/delete'){
//删除
var whereStr={"user":"张飞"}
dbase.collection('userlist').deleteMany(whereStr,function(err,result){
console.log('文档删除成功',result);
res.end()
})
}
})
// res.end()
}).listen(8085)
文章来源地址https://www.toymoban.com/news/detail-697777.html
到了这里,关于Node.Js篇 NodeJs使用MongoDB的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!