node.js 操作 mongodb
来源:互联网 发布:数据可视化常用工具 编辑:程序博客网 时间:2024/05/18 15:57
这个例子是在express框架下测试滴。
所以,在express环境下,要满足package.json文件的红色字体部分:
{
"name": "microblog",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"express": "~4.9.0",
"body-parser": "~1.8.1",
"cookie-parser": "~1.3.3",
"morgan": "~1.3.0",
"serve-favicon": "~2.1.3",
"debug": "~2.0.0",
"jade": "~1.6.0",
"ejs": ">= 0.0.1",
"mongodb": "*",
"connect-mongo": "*",
"express-session": "~1.0.4",
"connect-flash": "*",
"mysql":"*"
}
}
setting.js:
module.exports = { cookieSecret: 'myblog', db: 'blog', host: '127.0.0.1',};
mongodb.js
var setting = require('./setting');Db = require('mongodb').Db;Connection = require('mongodb').Connection;Server = require('mongodb').Server;module.exports = new Db(setting.db, new Server(setting.host, 27017), {safe: true});
dbData.js
var mongodb = require('./mongodb')function dbDataSaver(UserData){ this.SaveID = UserData.SaveID; this.UserID = UserData.UserID; this.Name = UserData.Name; this.str_json = UserData.str_json; this.time = UserData.time;};dbDataSaver.prototype.save = function(callback){ var dbData = { SaveID:this.SaveID, UserID:this.UserID, Name:this.Name, str_json:this.str_json, time:this.time }; mongodb.open(function(err,db){ if(err){ console.log("mongodb open err"); return callback(err); } db.collection('dbData',function(err,collection){ if(err){ mongodb.close(); return callback(err); } collection.insert(dbData,{safe:true},function(err,dbData){ if(err){ mongodb.close(); return callback(err); } callback(null,dbData[0]); }); }); });};dbDataSaver.get = function(SaveID,callback){ mongodb.open(function(err,db){ if(err){ return callback(err); } db.collection('dbData',function(err,collection){ if(err){ mongodb.close(); return callback(err); } collection.findOne({SaveID:SaveID},function(err,dbData){ mongodb.close(); if(err){ return callback(err); } callback(null,dbData); }); }); });};dbDataSaver.query = function(UserID,callback){ mongodb.open(function(err,db){ if(err){ return callback(err); } db.collection('dbData',function(err,collection){ if(err){ mongodb.close(); return callback(err); } collection.find({UserID:UserID}).toArray(function(err,items){ mongodb.close(); if(err){ return callback(err); } callback(null,items); }); }); });};module.exports = dbDataSaver;
test.js:
var dbData = require('./dbData')#测试 get 方法,获取指定条件下的一条数据 dbData.get('1',function(err,dbData){ if(!dbData){ console.log("can not get dbData"); return res.redirect('/'); } console.log(dbData.UserID) console.log(dbData.SaveID) console.log(dbData.Name) })####测试query方法,获取指定条件下的多条数据 dbData.query(1,function(err,arr){ console.log(arr); if(!arr){ console.log("can not get dbdatas"); return res.redirect('/'); } for(var i=0 ; i <arr.length;i++){ dbData = arr[i]; console.log(dbData.UserID); console.log(dbData.SaveID); console.log(dbData.Name); console.log(dbData.str_json); var aaa = JSON.stringify(dbData.str_json); var bbb = JSON.parse(aaa); console.log(bbb.p); } })#测试save方法,向数据库中插入一条记录 newData = new dbData({ SaveID:10, UserID :10, Name:"bloodchilde", str_json:{"p":20}, time : 20150527 }); newData.save(function(err,newData){ if(err){ console.log("save err"); return res.redirect("/"); } console.log("save data success"); });注意事项:
1,查询条件的数据类型不能弄错,例如查询的类型本来是整形,如果你填写字符串就会出错
2,数据字段名不能写错,否则会出现undefined或者直接报错,同样插入数据时字段名要和数据库中的一致,否者插入失败(默认填null)
0 0
- node.js 操作 mongodb
- node.js操作mongodb
- Node.js 操作Mongodb
- Node.js 操作Mongodb
- Node.js 操作Mongodb
- Node.js 操作Mongodb
- node.js操作MongoDB
- Node.js操作mongodb数据库
- Node.js操作mongodb数据库
- Node.js操作mongodb数据库
- node.js 操作MongoDB数据库
- node.js之mongodb操作
- node.js对mongodb的一些操作
- 让node.js高效操作mongodb
- node js 使用mongoskin 操作mongodb
- Node.js简单操作MongoDB(CRUD)
- mongoose - 让node.js高效操作mongodb
- node.js 操作 MongoDB 思维导图
- 欢迎使用CSDN-markdown编辑器
- 稳定排序和不稳定排序
- EventBus源码学习
- org.apache.commons.lang.exception.NestableRuntimeException 问题解决方案
- 将.sql文件导入powerdesigner的实现方法详解
- node.js 操作 mongodb
- html获取鼠标在页面的坐标以及在canvas上的坐标
- 移动UI设计中的7种主要导航模式
- 号牌竞拍系统产品发布
- 使用Hadoop API访问Kerberos 安全HDFS
- Android上传文件到服务器(以上传图片为例)
- Android的OutOfMemory解决
- 疯狂XML学习笔记(10)---------XML的作用
- html 复制标签内文本的按钮的 js 实现【学习过程】【浏览器兼容】