Nodejs操作MongoDb
一、在 Nodejs 中使用 Mongodb
官方文档: http://mongodb.github.io/node-mongodb-native/
npm install mongodb
或者
cnpm install mongodb
或者
yarn add mongodb
二、Nodejs 连接 MongoDb 数据库
const MongoClient = require('mongodb').MongoClient;
// 实例化MongoClient
const client = new MongoClient('mongodb://localhost:27017', { useUnifiedTopology: true });
// 连接MongoDB
client.connect((err) => {
if (err) return console.log(err);
console.log("连接成功");
//获取 db 对象
const db = client.db('eggcms');
// 操作完数据库关闭链接
client.close();
});
注意:如果数据库开启了权限验证的话需要使用下面方式连接数据库
const url = 'mongodb://admin:123456@localhost:27017/';
其中:admin 表示用户名,123456 表示密码
二、Nodejs 查找 MongoDb 数据库的数据
// 查询所有,转换数组不然没法用
db.collection("order").find({}).toArray((err, data) => {
if (err) return console.log(err);
console.log(data);
// 操作完数据库关闭链接
client.close();
})
三、Nodejs 给 MongoDb 增加数据
// 新增数据
db.collection("order").insertOne({"order_id": "4"}, (err, result) => {
if (err) return console.log(err);
console.log(result);
client.close();
})
可视化工具:robo3t
四、Nodejs 修改 MongoDb 数据
db.collection("order").updateOne({"order_id": "4"}, {$set: { "all_num": 50}}, (err, result) => {
if (err) return console.log(err);
console.log(result);
client.close();
})
五、Nodejs 删除 MongoDb 数据
// 删除数据,删除一条,这里如果多个记录的order_id相同,从表上面删除一个
db.collection("order").deleteOne({"order_id": "4"}, function(err, result) {
if (err) return console.log(err);
console.log(result);
client.close();
});
另一种连接数据库方法
// 1、引入mongodb
const { MongoClient } = require('mongodb');
// 2、定义数据库连接的地址
const url = 'mongodb://127.0.0.1:27017';
// 3、定义要操作的数据库
const dbName = 'eggcms';
// 4、连接数据库
MongoClient.connect(url, { useUnifiedTopology: true }, (err, client) => {
if (err) return console.log(err);
console.log("数据库连接成功");
let db = client.db(dbName);
// 1、查找数据
db.collection("order").find({"order_id":3}).toArray((err, data) => {
if (err) return console.log(err);
console.log(data);
//操作数据库完毕以后一定要关闭数据库连接
client.close();
})
})
// 5、连接数据库 增加
MongoClient.connect(url, { useUnifiedTopology: true },(err,client)=>{
if (err) return console.log(err);
console.log("数据库连接成功");
let db = client.db(dbName);
// 增加数据
db.collection("user").insertOne({"username":"nodejs操作mongodb", "age":10}, (err, result) => {
if (err) return console.log(err);
console.log("增加成功");
console.log(result);
//操作数据库完毕以后一定要 关闭数据库连接
client.close();
})
})
1
1
1
1
1
1
1
1
1
1