甩个官网连接:MongoDB.
1. 装NodeJS
2. 装mongoDB服务以及客户端(相关配置可以自己配,不复杂)
官网下载:mongodb-win32
客户端:mongodb-compass
注意:安装服务的时候选择自定义,手动去勾选(默认是选中的)不要安装客户端compass,因为很慢!所以这两个可以单独安装,分开下载。
客户端:
客户端连接服务器的时候要先跑服务:
上代码:
dataconfig.js(配置文件,你也可以放在connetct.js中)
var dataconfig = {
dataurl: "mongodb://localhost:27017",
dataname: 'test'
};
module.exports = dataconfig;
connect.js(下面针对数据库test中的集合address进行操作,可以改成你自己的就好)
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
var dataconfig = require('./dataconfig');
var DatabaseOperation = {
/*
@selectall 方法返回全部所有数据
@dataname 数据库名称
@dealdata 回调处理函数 格式function(result){};
*/
selectall: function(dataname, dealdata) {
const client = new MongoClient(dataconfig.dataurl);
client.connect(function(err) {
assert.equal(null, err);
console.log("数据库连接成功");
const db = client.db(dataconfig.dataname);
db.collection(dataname).find({}).toArray(function(err, result) { // 返回集合中所有数据
if (err) throw err;
dealdata(result);
});
client.close();
})
},
/*
@selectone 查询符合条件的数据
@dataname 数据库名称
@selectlanguage 查询控制语句 格式{index:value,index,value};
@dealdata 回调处理函数 格式function(result){};
*/
select: function(dataname, selectlanguage, dealdata) {
const client = new MongoClient(dataconfig.dataurl);
client.connect(function(err) {
assert.equal(null, err);
console.log("数据库连接成功");
const db = client.db(dataconfig.dataname);
db.collection(dataname).find(selectlanguage).toArray(function(err, docs) {
console.log('find');
dealdata(docs);
client.close();
});
})
},
/*
@insert添加数据格式json格式
@dataname 数据库名称
@dealdata 回调函数处理函数有一个result参数
*/
insert: function(dataname, insertlanguage, dealdata) {
const client = new MongoClient(dataconfig.dataurl);
client.connect(function(err) {
assert.equal(null, err);
console.log("数据库连接成功");
const db = client.db(dataconfig.dataname);
db.collection(dataname).insertMany(insertlanguage, function(err, result) {
assert.equal(err, null);
dealdata(result);
client.close();
});
})
},
/*
@update 修改数据的方法
@update添加数据格式json格式
@dataname 数据库名称
@dealdata 回调函数处理函数有一个result参数
*/
update: function(dataname, updatelanguage, updatecondition, dealdata) {
const client = new MongoClient(dataconfig.dataurl);
client.connect(function(err) {
assert.equal(null, err);
console.log("数据库连接成功");
const db = client.db(dataconfig.dataname);
db.collection(dataname).updateOne(updatelanguage, updatecondition, function(err, result) {
assert.equal(err, null);
dealdata(result);
client.close();
});
})
},
/*
@removeall 删除数据的方法
@dataname 数据库名称
@removelanguage 删除数据的条件
@dealdata 回调函数处理函数有一个result参数
*/
removeall: function(dataname, removelanguage, dealdata) {
const client = new MongoClient(dataconfig.dataurl);
client.connect(function(err) {
assert.equal(null, err);
console.log("数据库连接成功");
const db = client.db(dataconfig.dataname);
db.collection(dataname).deleteOne(removelanguage, function(err, result) {
assert.equal(err, null);
dealdata(result);
client.close();
});
})
},
};
// 测试用例
// 查询全部
DatabaseOperation.selectall('address', function(result) {
console.log("select查询结果");
console.log(result);
})
// 查询单个
DatabaseOperation.select('address', {
"addressid": "2"
}, function(result) {
console.log("select查询结果");
console.log(result);
});
// 插入数据
DatabaseOperation.insert('address', [{
"insert": "hello"
}], function(result) {
console.log('inserts插入结果');
console.log(result);
})
// 更新
DatabaseOperation.update('address', {
"insert": "hello"
}, {
$set: {
"insert": "https://www.runoob.com"
}
}, function(result) {
console.log(result);
})
// 删除
DatabaseOperation.removeall('address', {
"insert": "hello"
}, function(result) {
console.log(result);
})
module.exports = DatabaseOperation;
然后从客户端查看就好:
也可以看看官网的:nodeJs/mongoDB
然后可以开启MongoDB服务后,执行:node connect.js