Nodejs操作MongoDB資料庫
阿新 • • 發佈:2020-11-06
資料庫連線
要在node.js中使用MongoDb,首先需要執行命令 npm install mongodb --save 進行安裝,然後在頁面中進行引入:
const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://127.0.0.1:27017'; const dbName = 'mongo'; const client = new MongoClient(url,{useUnifiedTopology:true}); client.connect(function(error){ if(error){ console.log(error); return; }else{ console.log('連線成功'); } })
由於本地測試資料庫沒有開啟許可權驗證,上面可以直接連線,如果資料庫開啟了許可權驗證的話,就需要使用下面的方式進行連線:其中admin 表示使用者名稱,123456 表示密碼。
const url = 'mongodb://admin:123456@localhost:27017/';
建立集合
使用 createCollection() 方法來建立集合
const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://127.0.0.1:27017'; const dbName = 'mongo'; const client = new MongoClient(url,{useUnifiedTopology:true}); client.connect(function(error){ if(error){ console.log(error); return; }else{ console.log('連線成功'); const db = client.db(dbName); db.createCollection('order',function(err,res){ if(err){ console.log(err); return }else{ console.log(res); client.close(); } }) } })
刪除集合
我們可以使用 drop() 方法來刪除集合,執行成功 res 返回 true,否則返回 false
也可以使用dropCollection()來刪除集合,返回結果和上面相同。
插入文件
單條插入
單條插入使用insertOne(),接收一個物件:
console.log('連線成功'); const db = client.db(dbName); db.collection('order').insertOne({type:1,name:'礦泉水',price:2},function(err,res){ if(err){ console.log(err); return; }else{ console.log(res); client.close(); } })
多條插入
如果要插入多條資料,可以使用insertMany(),接收一個數組:
console.log('連線成功'); const db = client.db(dbName); let arr=[ {type:1,name:'可樂',price:4}, {type:2,name:'記號筆',price:10}, {type:2,name:'筆記本',price:8}, ]; db.collection('order').insertMany(arr,function(err,res){ if(err){ console.log(err); return; }else{ console.log(res); client.close(); } })
更新文件
單條更新
單條更新符合條件的資料,可以使用updateOne():
多條更新
如果要更新所有符合條的文件資料可以使用 updateMany():
查詢
查詢使用find(),然後使用toArray()將返回結果轉為陣列:
帶條件查詢
排序
刪除文件
根據條件,單條資料的刪除,使用deleteOne():
如果要刪除多條語句可以使用 deleteMany() 方法