javascript
nodeJS下利用mongdb进行数据库操作
2019獨角獸企業重金招聘Python工程師標準>>>
需要引用的node_modules
npm??install?mongodb此處引用的mongodb模塊版本為1.4.12
一.初始化mongdb.
首先引用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进行数据库操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PLSQL_性能优化系列20_Oracl
- 下一篇: JavaScript 语言基础知识点图示