0

0

0

修罗

站点介绍

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

Nodejs操作MongoDb

修罗 2020-10-09 1622 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)


最新评论

  • https://www.studyglobus.com/author/carroll34a5552/

    Ценники на вывоз мусора сейчас космос, любые лайфхаки по экономии в тему.

  • Richardgrold

    1xbet onlayn kazino platforması ilə vaxtınızı daha səmərəli və maraqlı keçirin. Saytın canlı kazino bölməsi istifadəçilərə fərqli bir dünya təklif edir. Burada canlı dilerli kazino oyunlarının hər bir növünü sınaqdan keçirə bilərsiniz. Krupyelərin peşəkarlığı oyunun dinamikasını və marağını artırır. Müntəzəm olaraq yenilənən oyun siyahısı cansıxıcılığa yol vermir. Hesabınızı artırmaq üçün onlarla fərqli və etibarlı üsul mövcuddur. Qazanılan pullar cəmi bir neçə dəqiqə ərzində şəxsi hesabınıza köçürülür. Aktiv fəaliyyətinizə görə fərdi bonuslar və hədiyyələr qazana bilərsiniz. Dəstək xidməti həm çat, həm də e-poçt vasitəsilə kömək göstərir. 1xbet ailəsinə qoşulun və böyük uduşlar üçün ilk addımı atın. onlayn kazino

  • 砂岩白丘

    我一直梦想, 看到你们相册那样的地方。真棒。

  • 城市地標

    我喜欢, 这里分享真实经验。你的项目 就是 属于这里的。请继续。

  • 宗教地標

    我热爱这样的想法, 去那么多国家。真的很鼓舞。

  • 觀景高地

    能感受到热爱。继续保持 感受。

  • 最佳季節

    我关注这样的资源, 写得很实在。你的网站 就是 属于这里的。加油。

  • 1

    1

  • 1

    1

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

    1

日历

2026年07月

   1234
567891011
12131415161718
19202122232425
262728293031 

文章目录

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