mongodb初始化并使用node.js实现mongodb操作封装方法
mongodb的下载只要在网站就能够下载
或者使用本地下载
下载后安装只用一直点next就可以,注意最好使用默认路径安装到c盘,然后在任意位置建立一个文件夹用于储存你的数据库
这里我命名的是mongodbworkspace
复制他的路径,在命令行工具(windows快捷键win+r)中,输入mongod --dbpath 你的路径,我的如下所示
现在你就已经初始化好了你的数据库,不用关掉它,他打开来才是开启了数据库服务,然后再新建一个命令行工具窗口
输入mongo,若出现以下窗口,代表你的连接已经成功了,这里是能够写操作mongodb的代码的
输入use yourdatabasename =>如果你有这个数据库名,则进入,如果没有这个数据库名,则新建了这个数据库
现在我打开了我的vscode,新建一个终端后输入npm installmongodb下载完成后,在index.js中导入(后面会有代码)
先定义一个用于储存方法的js文件,我命名为myfun.js,内容如下
myfun.js
//传入db环境, 集合名字,需要插入的数据,callback var insertdata = function (db, mycollection, data, callback) { //获得指定的集合 var collection = db.collection(mycollection); //插入数据 collection.insert(data, function (err, result) { //如果存在错误 if (err) { console.log('error:' + err); return; } //调用传入的回调方法,将操作结果返回 callback(result); }); } //传入db环境, 集合名字,要修改的数据的条件,要修改的结果,callback var updatedata = function (db, mycollection, where, set, callback) { //获得指定的集合 var collection = db.collection(mycollection); //修改数据 collection.updatemany(where, set, function (err, result) { //如果存在错误 if (err) { console.log('error:' + err); return; } //调用传入的回调方法,将操作结果返回 callback(result); }); } //传入db环境, 集合名字,要查询的数据的条件,要显示的字段,callback var finddata = function (db, mycollection, where, set, callback) { //获得指定的集合 var collection = db.collection(mycollection); //查询数据 collection.find(where, set).toarray(function (err, result) { //如果存在错误 if (err) { console.log('error:' + err); return; } //调用传入的回调方法,将操作结果返回 callback(result); }); } //传入db环境, 集合名字,要删除数据的条件,callback var deletedata = function (db, mycollection, where, callback) { //获得指定的集合 var collection = db.collection(mycollection); collection.remove(where, function (err, result) { //如果存在错误 if (err) { console.log('error:' + err); return; } //调用传入的回调方法,将操作结果返回 callback(result); }); } //暴露方法 module.exports.insertdata = insertdata; module.exports.updatedata = updatedata; module.exports.finddata = finddata; module.exports.deletedata = deletedata;
最后的几行是用来暴露内部方法的,在你的index.js中可以require这个js文件,然后就能访问到内部的数据及方法
这里是按照我的想法来定义的,这里只是一个示例,大家最好能按照自己的想法来设计自己的方法,会使用的更加舒服,比如mycollection可以传进来他的集合名字,也可以传进来的是这个集合名字的实例,这样会对自己有很大的提升,下面是我的主js文件
index.js
var mongoclient = require('mongodb').mongoclient; var myfun = require('./myfun'); //定义连接数据库的地址 const url = 'mongodb://localhost:27017/'; var dbname = 'kejikeji' //连接数据库 mongoclient.connect(url, (err, client) => { if (err) { console.log('数据连接失败'); return false; } console.log('数据库连接成功'); let db = client.db(dbname); /*获取db对象*/ let collection = "user"; var data = [{ "name": "mongodb3.0", "age": 114 }, { "name": "mongodb3.0", "age": 17 }]; myfun.insertdata(db, collection, data, (result) => { console.log(result.ops); }); //要修改数据的条件,>=10岁的用户 var updatewhere = { age: { "$gte": 10 } }; //要修改的结果 var updateset = { $set: { age: 95 } }; myfun.updatedata(db, collection, updatewhere, updateset, (result) => { console.log(result.result); }); //要查询数据的条件,>=10岁的用户 var findwhere = { age: { "$gte": 10 } }; //要显示的字段 var findset = { age: 1 }; myfun.finddata(db, collection, findwhere, findset, (result) => { console.log(result[1].age); }); //要删除数据的条件,name=mongodb3.0的用户删除 var deletewhere = { name: "mongodb3.0" }; myfun.deletedata(db, collection, deletewhere, (result) => { console.log(result); }); })
这是我的运行截图,代表操作都正确了,在第二个操作窗口,大家可以use进入数据库中,输入db.yourcollectionname.find()查询此集合内的全部字段
这样就能确定自己的语句有没有起作用了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Node.js中使用mongoose操作mongodb数据库的方法
-
mongodb初始化并使用node.js实现mongodb操作封装方法
-
MongoDB安装使用并实现Python操作数据库
-
使用mongoshake实现mongodb数据同步的操作方法
-
使用mongoshake实现mongodb数据同步的操作方法
-
使用python连接mongodb并操作的方法
-
Node.js中使用mongoose操作mongodb数据库的方法
-
使用python连接mongodb并操作的方法
-
mongodb初始化并使用node.js实现mongodb操作封装方法
-
MongoDB安装使用并实现Python操作数据库