nodejs操作mongodb数据库(mongodb)

本文详细介绍使用Node.js进行MongoDB数据库的增删查改(CRUD)操作,并演示了如何创建及调用存储过程。适合希望快速上手MongoDB数据库操作的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备

  1. 通过npm命令安装mongodb
  2. 安装mongodb数据库,这里不详细介绍了,网上一堆

关于版本

  • mongodb@2.2.10
  • nodejs v4.6.0
  • MongoDB数据库 3.2版本

CRUD操作

在此之前应对Mongodb数据库有所了解,知道它的一些增删查改命令。

1.增加

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

function insertData(db)
{
    var devices = db.collection('vip');
    var data = {"name":"node","age":22,"addr":"nb","addTime":new Date()};
    devices.insert(data,function(error, result){
        if(error)
        {
            console.log('Error:'+ error);
        }else{

            console.log(result.result.n);
        }
        db.close();
    });
}

MongoClient.connect(DB_URL, function(error, db){
    console.log('连接成功!');
    insertData(db);
});

这里写图片描述
2.查找

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

var selectData = function(db, callback) {  
  //连接到表  
  var collection = db.collection('vip');
  //查询数据
  var whereStr = {"name":'node'};
  collection.find(whereStr,function(error, cursor){
    cursor.each(function(error,doc){
        if(doc){
            //console.log(doc);
            if (doc.addTime) {
                console.log("addTime: "+doc.addTime);
            }
        }
    });

  });

}

MongoClient.connect(DB_CONN_STR, function(err, db) {
  console.log("连接成功!");
  selectData(db, function(result) {
    console.log(result);
    db.close();
  });
});

3.更新

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error, db){
    console.log("连接成功!");
    updateData(db);
});

function updateData(db)
{
    var devices = db.collection('vip');
    var whereData = {"name":"node"}
    var updateDat = {$set: {"age":26}}; //如果不用$set,替换整条数据
    devices.update(whereData, updateDat, function(error, result){
        if (error) {
            console.log('Error:'+ error);
        }else{
            console.log(result);
        }
        db.close();
    });
}

4.删除

var MongoClient = require('mongodb').MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error, db){
    console.log("连接成功");
    deleteData(db);
});

function deleteData(db)
{
    var devices = db.collection('vip');
    var data = {"name":"node"};
    devices.remove(data, function(error, result){
        if (error) {
            console.log('Error:'+ error);
        }else{
            console.log(result.result.n);
        }
        db.close();
    })
}

存储过程

在mongodb中创建存储过程

这里写图片描述

所有存储过程都存放在db.system.js中,通过db.eval(“存储过程ID()”);调用存储过程。

在代码中调用:

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error,db){
    console.log("连接成功!");
    callProcess(db)
});

function callProcess(db)
{
    db.eval("get_vip_count()",function(error, result){
        if (error) {
            console.log(error);
        }else{
            console.log("count:"+result);
        }
        db.close();
    });
}

下篇介绍如何使用mongoose操作mongodb数据库。

### 如何使用 Node.js 连接 MongoDB 数据库 为了使 Node.js 应用能够与 MongoDB 数据库交互,需先引入 MongoDB 官方驱动程序。这可以通过 `npm` 来完成安装过程[^3]。 #### 初始化项目并安装依赖 在终端执行以下命令来初始化一个新的 Node.js 项目,并安装必要的 MongoDB 驱动: ```bash // 创建新项目的 package.json 文件,默认配置 npm init -y // 添加 MongoDB 作为项目的依赖项 npm install mongodb ``` #### 编写连接逻辑 接下来,在应用中加入实际的数据库连接代码。这里提供了一个简单的例子,展示了如何建立到本地 MongoDB 实例的安全链接[^4]。 ```javascript const { MongoClient } = require('mongodb'); async function main() { const uri = "your_mongodb_connection_string_here"; // 替换成您的MongoDB URI try { let client; // 创建新的客户端实例 client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); await client.connect(); // 尝试连接 console.log("成功连接至服务器"); // 执行查询或其他操作... } catch (err) { console.error(err.stack); } finally { await client.close(); } } main().catch(console.error); ``` 上述脚本中的 `uri` 变量应被替换为指向目标 MongoDB 实例的有效连接字符串。对于在线部署的服务而言,此 URL 往往包含了认证信息以及集群地址列表等细节[^2]。 当一切设置妥当时,只需运行该 JavaScript 文件即可尝试建立连接。如果一切正常,则会在控制台看到一条确认消息;若有任何错误发生,也会相应地打印出来以便调试。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值