使用mongodb数据库+node.js封装接口详细过程

学习内容:

使用mongodb存储数据,用node语言编写后端


学习产出:

【下载mongoose依赖包】

npm install mongoose

【创建一个js文件】

keys.js

文件写入路径配置(模块入口)

module.exports = {
  mongoURI: "mongodb://localhost/playground",
  secretOrkey: "secret",
};

mongoURI是连接mongodb数据库的路径,路径中的数据库(此代码的数据库名为playground)不存在则会创建该数据库。

【server.js入口文件】

导入mongoose

const mongoose=require("mongoose");

引入keys.js

const db=require("./config/keys").mongoURI;

连接数据库

mongoose
  .connect(db)
  .then(() => console.log("数据库连接成功"))
  .catch((err) => console.log(err, "数据库连接失败"));

【搭建路由】

新建文件夹routes

在routes中新建文件 users.js

1.需要导入express、router

const express = require("express
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用 Node.jsMongoDB aggregate 的新 Promise 封装示例: ```javascript const MongoClient = require('mongodb').MongoClient; function aggregatePromise(dbUrl, dbName, collectionName, pipeline) { return new Promise((resolve, reject) => { MongoClient.connect(dbUrl, { useNewUrlParser: true }, (err, client) => { if (err) { reject(err); } const db = client.db(dbName); const collection = db.collection(collectionName); collection.aggregate(pipeline).toArray((err, result) => { if (err) { reject(err); } resolve(result); client.close(); }); }); }); } ``` 使用示例: ```javascript const dbUrl = 'mongodb://localhost:27017'; const dbName = 'test'; const collectionName = 'users'; const pipeline = [ { $match: { age: { $gte: 18 } } }, { $group: { _id: '$gender', count: { $sum: 1 } } } ]; aggregatePromise(dbUrl, dbName, collectionName, pipeline) .then(result => console.log(result)) .catch(err => console.error(err)); ``` 这个示例使用MongoDB 的聚合操作,查询年龄大于等于 18 岁的用户并按性别分组统计人数。我们封装了一个名为 `aggregatePromise` 的函数,它接收四个参数,分别是 MongoDB 连接地址、数据库名、集合名和聚合管道。这个函数返回一个 Promise 对象,可以使用 `.then()` 和 `.catch()` 方法处理异步操作的结果和错误。在函数内部,我们使用MongoDB 官方提供的 Node.js 驱动程序,连接到指定的数据库,查询指定集合的数据并返回结果。注意,在最后一行代码中,我们调用了 `client.close()` 方法关闭了连接,以避免资源泄漏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值