IDE | Visual Studio Code |
---|---|
node | v8.9.0 |
npm | v5.5.1 |
mongodb | v2.2.33 |
注:要查看mongodb的版本,不然使用db.collection()这个方法时会从mongodb的库中报这个错:db.collection not a function
解决:把package.json里面的mongodb改成 "mongodb": "^2.2.33"
, 然后npm install就OK了
其实就是安装个旧的版本,当前从npm直接install的mongodb版本为3.0.0+,3.0版本API有较大的改变,还没去研究collection是换了名字还是废弃了。
想了解的同学可以点这个:https://www.npmjs.com/package/mongodb
项目结构
- code
- db
- node_modules
- npm 模块(mongodb是一定要安装的)
- router
- interface(准备后面加个express写接口的)
- package.json
- server.js
- README.md
下面不多说了,直接上代码
主要是db.js,在VS code上可以直接运行调试,不启动server都OK的,还有记得打开mongodb,我上篇文章有介绍 https://www.jianshu.com/p/b15d293930bc
//引入mongodb模块,获得客户端对象
var MongoClient = require('mongodb').MongoClient;
//连接字符串
var DB_CONN_STR = 'mongodb://localhost:27017/nodedb';
//使用客户端连接数据,并指定完成时的回调方法
// 增
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
//获得指定的集合
var collection = db.collection('users');
//插入数据
var data = [{_id:7,"name":'rose',"age":21},{_id:8,"name":'mark',"age":22}];
collection.insert(data, function(err, result) {
//如果存在错误
if(err) {
console.log('Error:'+ err);
return;
}
//显示结果
console.log(result);
//关闭数据库
db.close();
});
});
// 改
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
//获得指定的集合
var collection = db.collection('users');
//要修改数据的条件,>=18岁的用户
var where={age:{"$gte":18}};
//要修改的结果
var set={$set:{age:95}};
collection.updateMany(where,set, function(err, result) {
//如果存在错误
if(err) {
console.log('Error:'+ err);
return;
}
//显示结果
console.log(result);
//关闭数据库
db.close();
});
});
// 查
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
//获得指定的集合
var collection = db.collection('users');
//要查询数据的条件,<=18岁的用户
var where={age:{"$lte":18}};
//设置要显示的字段
var set={name:1,age:1};
collection.find(where,set).toArray(function(err, result) {
//如果存在错误
if(err) {
console.log('Error:'+ err);
return;
}
//显示结果
console.log(result);
//关闭数据库
db.close();
});
});
// 删
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("连接成功!");
//获得指定的集合
var collection = db.collection('users');
//要删除数据的条件,_id=7的用户删除
var where={_id:7};
collection.remove(where,function(err, result) {
//如果存在错误
if(err) {
console.log('Error:'+ err);
return;
}
//显示结果
console.log(result);
//关闭数据库
db.close();
});
});
网友评论