node.js操作MongoDB的实例详解

(编辑:jimmy 日期: 2025/1/21 浏览:2)

node.js操作MongoDB时,需要安装mongodb包

1、使用npm安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

2、使用cnpm安装mongodb包

cnpm install mongodb

node.js操作MongoDB的实例详解

node.js操作MongoDB的实例详解

node.js操作MongoDB时的四种方式:插入数据、更新数据、删除数据、查找数据。

操作步骤
步骤1 创建执行文件xx.js
步骤2 终端调用执行文件 node xx.js

注意:
操作前需要启动服务器
同时需要设置操作的数据库、操作的集合

node.js操作MongoDB的实例详解

node.js操作MongoDB的实例详解

node.js操作MongoDB的实例详解

node.js操作MongoDB的实例详解

node.js操作MongoDB的实例详解

1、插入数据

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/col';

var writeData = function(db, callback) {
  // 连接到集合
  var collection = db.collection('person');
  // 插入数据
  var data = [{'name':'20170906','age':'22'}];
  collection.insert(data, function(error, result) {
    if (error) {
      console.log('error:' + error);
      return;
    };

    callback(result);
  });
}

MongoClient.connect(DB_CONN_STR, function(error, db) {
  console.log('连接成功');
  writeData(db, function(result) {
    console.log(result);
    db.close();
  })
})

2、更新数据

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/col';

var updateData = function(db, callback) {
  // 连接到集合
  var collection = db.collection('person');
  // 修改数据
  var where = {'name':'20170906'};
  var update = {$set:{'age':'33'}};
  collection.update(where, update, function(error, result) {
    if (error) {
      console.log('error:' + error);
      return;
    };

    callback(result);
  });
}

MongoClient.connect(DB_CONN_STR, function(error, db) {
  console.log('连接成功');
  updateData(db, function(result) {
    console.log(result);
    db.close();
  })
})

3、删除数据

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/col';

var removeData = function(db, callback) {
  // 连接到集合
  var collection = db.collection('person');
  // 删除数据
  var where = {'age':'22'};
  collection.remove(where, function(error, result) {
    if (error) {
      console.log('error:' + error);
      return;
    };

    callback(result);
  });
}

MongoClient.connect(DB_CONN_STR, function(error, db) {
  console.log('连接成功');
  removeData(db, function(result) {
    console.log(result);
    db.close();
  })
})

4、查找数据

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/col';

var readData = function(db, callback) {
  // 连接到集合
  var collection = db.collection('person');
  // 查询数据
  var where = {'name':'20170906'};
  collection.find(where).toArray(function(error, result) {
    if (error) 
    {
      console.log('error:' + error);
      return;
    };

    callback(result);
  });
}

MongoClient.connect(DB_CONN_STR, function(error, db) {
  console.log('连接成功');
  readData(db, function(result) {
    console.log(result);
    db.close();
  })
})

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?