欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

nodeJS下利用mongdb进行数据库操作

发布时间:2024/4/13 javascript 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 nodeJS下利用mongdb进行数据库操作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

需要引用的node_modules

npm  install mongodb

此处引用的mongodb模块版本为1.4.12

一.初始化mongdb.

var mongodb = require('mongodb');var MongoClient = require('mongodb').MongoClient; var db; var util = require('util');   // Initialize connection once MongoClient.connect("mongodb://localhost:27017/threepigs", function(err, database) {if(err) throw err;db = database; });

首先引用mongodb模块,然后获得MongoClient对象。

从MongoClient对象中调用connect方法获取数据库连接。注意connect方法会默认创建出含有五个数据库连接的连接吃。

二.CRUD操作.

所有操作中参数的数据格式均为BSON格式。

1.查询语句

db.collection(tableName).find({'XXXX': xxxx},{sort: {'XXXX': 1}}).toArray(function(err, docs) {if (err) throw err;return ;});

使用find函数查看某一文档内容,find()第一个参数为查询参数,第二个参数为对结果集操作

2.插入语句

db.collection(tableName).insert( {'XXXX': xxxx}, {w:1}, function(err, objects) {if (err) throw err;});

使用insert函数插入一个文档,insert()第一个参数为插入的数据。

3.更新操作

db.collection(tableName).update({'XXXX': xxxx}, {$set: {'XXXX': xxxx}}, {w:1,upsert:true}, function(err) {if (err) console.warn(err.message);});

使用update函数更新一个文档,update()第一个参数为更新的数据,set参数查询被更新的文档。 upsert:true标记,如果set参数未查询到相应文档则新建一个。

4.删除操作

db.collection(tableName).remove( {'XXXX': xxxx} ,{w: 1}, function(err, docs) {if (err) throw err;});

使用remove()方法移除文档,remove()第一个参数为要移除文档的指定条件。

三.注意

因为nodeJS是异步的。所以在对数据库操作的时候,如果需要将上一步得到的结果传递给下一个操作那么就需要对这些操作做一定的处理单纯

db.collection(tableName).update({'XXXX': xxxx}, {$set: {'XXXX': xxxx}}, {w:1,upsert:true}, function(err) {if (err) console.warn(err.message);});db.collection(tableName).remove( {'XXXX': xxxx} ,{w: 1}, function(err, docs) {if (err) throw err;});

这样的并列操作是会出现问题的,因为上一步的操作的结果还没返回,nodeJS就已经进行到了下一步。

解决方法。

嵌套语句

db.collection(tableName).update({'XXXX': xxxx}, {$set: {'XXXX': xxxx}}, {w:1,upsert:true}, function(err) {if (err) console.warn(err.message);db.collection(tableName).remove( {'XXXX': xxxx} ,{w: 1}, function(err, docs) {if (err) throw err;});});

将下一步需要进行的操作放到上一步的回调函数中,保证其按顺序执行,但是当需要嵌套的数目非常大时,就会非常的麻烦。

转载于:https://my.oschina.net/kakakaka/blog/337860

总结

以上是生活随笔为你收集整理的nodeJS下利用mongdb进行数据库操作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。