Nodejs实现的操作MongoDB数据库功能完整示例

(编辑:jimmy 日期: 2024/11/19 浏览:2)

本文实例讲述了Nodejs实现的操作MongoDB数据库功能。分享给大家供大家参考,具体如下:

mongodb_demo.js

/**
cnpm install mongodb
 */
var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://test:123456@127.0.0.1:27017/test'; // 数据库为 test
var insertData = function (db, callback) {
  //连接到表 site
  var collection = db.collection('site');
  //插入数据
  var data = [{ "name": "网站1", "url": "www.test1.com" }, { "name": "网站2", "url": "www.test2.com" }];
  collection.insert(data, function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
var selectData = function (db, callback) {
  //连接到表
  var collection = db.collection('site');
  //查询数据
  var whereStr = { "name": '网站1' };
  collection.find(whereStr).toArray(function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
var updateData = function (db, callback) {
  //连接到表
  var collection = db.collection('site');
  //更新数据
  var whereStr = { "name": '网站1' };
  var updateStr = { $set: { "url": "https://www.test1.com" } };
  collection.update(whereStr, updateStr, function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
var delData = function (db, callback) {
  //连接到表
  var collection = db.collection('site');
  //删除数据
  var whereStr = { "name": '网站1' };
  collection.remove(whereStr, function (err, result) {
    if (err) {
      console.log('Error:' + err);
      return;
    }
    callback(result);
  });
}
MongoClient.connect(DB_CONN_STR, function (err, db) {
  if (err) {
    console.log(err);
    return;
  }
  console.log("连接成功!");
  //1、插入
  insertData(db, function (result) {
    console.log(result);
    db.close();
  });
  //2、查询数据
  selectData(db, function (result) {
    console.log(result);
    db.close();
  });
  //3、更新数据
  updateData(db, function (result) {
    console.log(result);
    db.close();
  });
  //4、删除数据
  delData(db, function (result) {
    console.log(result);
    db.close();
  });
});

运行:

node mongodb_demo.js

希望本文所述对大家nodejs程序设计有所帮助。

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