Node.js 操作 MongoDb 数据库

5,508 阅读2分钟

小知识,大挑战!本文正在参与“           程序员必备小知识 ”创作活动

本文同时参与 「掘力星计划」           ,赢取创作大礼包,挑战创作激励金

1. Nodejs 中使用 MongoDb 数据库

Nodejs 操作 mongodb 数据库官方文档

npm install mongodb --save 
// 或者
cnpm install mongodb --save 
// 或者
yarn add mongodb
// 引入 mongodb
const {MongoClient} = require('mongodb');

// 定义数据库连接的地址
const url = 'mongodb://localhost:27017'; 
// const url = 'mongodb://admin:123456@localhost:27017/'; 有密码连接方式 admin 表示用户名,123456 表示密码

// 定义要操作的数据库
const dbName = 'itying';

MongoClient.connect(url, { useUnifiedTopology: true },(err,client)=>{
  if(err){
    console.log(err); 
    return; 
  }
  console.log("连接成功"); 
  // 获取 db 对象 
  const db = client.db(dbName); 

  // 操作完数据库后,一定要记得关闭
  client.close();
})


2. Nodejs 查找 MongoDb 数据库的数据

const {MongoClient} = require('mongodb');
const url = 'mongodb://localhost:27017'; 
// const url = 'mongodb://admin:123456@localhost:27017/'; 有密码连接方式 admin 表示用户名,123456 表示密码
// 定义要操作的数据库
const dbName = 'itying';

MongoClient.connect(url, { useUnifiedTopology: true },(err,client)=>{
  if(err){
    console.log(err); 
    return; 
  }
  console.log("连接成功"); 
  // 获取 db 对象 
  const db = client.db(dbName); 

  // 查找数据
  db.collection('user').find({"age":12}).toArray((err,data) => {
    console.log(data)
    
    // 操作完数据库后,一定要记得关闭
    client.close();
  })
})

3. Nodejs 给 MongoDb 增加数据

const {MongoClient} = require('mongodb');
const url = 'mongodb://localhost:27017'; 
// const url = 'mongodb://admin:123456@localhost:27017/'; 有密码连接方式 admin 表示用户名,123456 表示密码
// 定义要操作的数据库
const dbName = 'itying';

MongoClient.connect(url, { useUnifiedTopology: true },(err,client)=>{
  if(err){
    console.log(err); 
    return; 
  }
  console.log("连接成功"); 
  // 获取 db 对象 
  const db = client.db(dbName); 

  // 增加数据
  db.collection('user').insertOne({"name":"测试者","age":17},(err,result)=>{
    if(err){
      console.log(err);
      return;
    }
    console.log(result);
    client.close()
  })
})

4. Nodejs 修改 MongoDb 数据

const { MongoClient } = require('mongodb');
const url = 'mongodb://localhost:27017'; 
// const url = 'mongodb://admin:123456@localhost:27017/'; 有密码连接方式 admin 表示用户名,123456 表示密码
// 定义要操作的数据库
const dbName = 'itying';

MongoClient.connect(url, { useUnifiedTopology: true },(err,client)=>{
  if(err){
    console.log(err); 
    return; 
  }
  console.log("连接成功"); 
  // 获取 db 对象 
  const db = client.db(dbName); 

  // 修改数据
  db.collection('user').updateOne({"name": "xiaoming"},{$set:{"age": 20}},(err,result)=>{
    if(err){
      console.log(err);
      return;
    }
    console.log(result);
    client.close()
  })
})

5. Nodejs 删除 MongoDb 数据

const { MongoClient } = require('mongodb');
const url = 'mongodb://localhost:27017'; 
// const url = 'mongodb://admin:123456@localhost:27017/'; 有密码连接方式 admin 表示用户名,123456 表示密码
// 定义要操作的数据库
const dbName = 'itying';

MongoClient.connect(url, { useUnifiedTopology: true },(err,client)=>{
  if(err){
    console.log(err); 
    return; 
  }
  console.log("连接成功"); 
  // 获取 db 对象 
  const db = client.db(dbName); 

  // 删除一条数据
  db.collection('user').deleteOne({"name": "xiaoming"},(err,result)=>{
    if(err){
      console.log(err);
      return;
    }
    console.log(result);
    client.close()
  })
  // 删除多条数据
  db.collection('user').deleteMany({"name": "设计者"},(err,result)=>{
    if(err){
      console.log(err);
      return;
    }
    console.log(result);
    client.close()
  })
})