0

0

0

修罗

站点介绍

只有了解事实才能获得真正的自由

Nodejs操作MongoDb

修罗 2020-10-09 1412 0条评论 nosql

首页 / 正文

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();
})

1602260406411.png

三、Nodejs 给 MongoDb 增加数据

// 新增数据
db.collection("order").insertOne({"order_id": "4"}, (err, result) => {
    if (err) return console.log(err); 
    console.log(result);
    client.close();
})

可视化工具:robo3t

1602260811816.png

四、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();
})

1602260955482.png

五、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();
});

1602261052915.png

另一种连接数据库方法

// 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();
    })
})

1602262143847.png

评论(0)


最新评论

  • 1

    1

  • 1

    1

  • -1' OR 2+158-158-1=0+0+0+1 or 'TKCTZnRa'='

    1

  • 1

    1

  • 1

    1

  • 1

    1

  • 1

    1

  • @@5Qa2D

    1

  • 1

    1

  • 1

    1

日历

2025年09月

 123456
78910111213
14151617181920
21222324252627
282930    

文章目录

推荐关键字: Linux webpack js 算法 MongoDB laravel JAVA jquery javase redis