nodejs操作mongodb数据库

本文介绍了使用NodeJS连接并操作MongoDB数据库的基础步骤,包括安装环境、启动数据库、学习基本命令,以及通过NodeJS编写接口实现增删改查功能。通过这个简单的全栈案例,为后续深入学习打下基础。

又从头捋了一遍这个案例,迷迷糊糊终于开点窍了,虽然写的很简单,也很low,但是刚起步,再接再厉。

第一步:安装node环境,配置全局变量。

第二步:安装mongodb,也有一些可视化工具,喜欢命令行操作的也可以不用,我没用也就不介绍了。

第三步:新建一个目录存放数据  随便放在哪个盘  (md 文件名),也可以右键新建,我的是d:data

第四步:开启mongodb,cmd切盘到mongodb的安装目录bin下,C:\Program Files\MongoDB\Server\3.4\bin这是我的目录,然后mongod -dbpath d:data,地址栏输入http://127.0.0.1:27017/,这个端口是默认的,也可以修改,成功后在页面上会看到

It looks like you are trying to access MongoDB over HTTP on the native driver port.

第五步:学习一些mongodb的基本命令,会创建查找就可以了,cmd切盘到mongodb的安装目录bin下,命令行输入mongo,在这里面可以对数据库进行操作,也可以执行一些计算

第六步:创建一个数据库use myData,db,然后db.myData.find(),查看我们创建的数据库,什么都没有,可以先插入一个数据,db.myData.insert({"username":"susu"}),查看所有的数据库:show dbs


到这里对于数据库了解这些就可以了,重点是我们如何用nodejs去操作数据库,然后响应前端的一些操作,也就是提供接口。之前有写过如何通过node开启一个本地服务器,现在用到了,这里用到了querystring,上代码:

server.js:

//1.新启一个服务器
var http=require('http');
var url=require('url');
//querystring将指定的字符串转换为json对象
//qs.parse();
var qs=require('querystring');
//创建服务
var getUser=require('./db.js')[0];
var addUser=require('./db.js')[1];
var deleted=require('./db.js')[2];
var change=require('./db.js')[3];
http.createServer(function(request,response){
response.writeHead('200',{'Content-Type':'application/json;charset=utf-8','Access-Control-All
Node.js 中读取 MongoDB 数据库可以使用官方推荐的 `mongodb` 驱动或者更高层次的库如 `mongoose`。 ### 使用 `mongodb` 驱动读取数据 以下是使用 `mongodb` 驱动连接到 MongoDB 并读取数据的示例代码: ```javascript const { MongoClient } = require('mongodb'); // 数据库连接 URL const url = 'mongodb://localhost:27017'; // 数据库名称 const dbName = 'yourDatabaseName'; // 创建一个新的 MongoClient const client = new MongoClient(url); async function main() { try { // 连接到 MongoDB 服务器 await client.connect(); console.log('Connected successfully to server'); // 选择数据库 const db = client.db(dbName); // 选择集合 const collection = db.collection('yourCollectionName'); // 查找所有文档 const findResult = await collection.find({}).toArray(); console.log('Found documents =>', findResult); } catch (err) { console.error('Error:', err); } finally { // 关闭连接 await client.close(); } } main().catch(console.error); ``` 上述代码中,用户首先创建了一个 `MongoClient` 实例并连接到 MongoDB 服务器,然后选择要操作数据库和集合,最后使用 `find` 方法查找集合中的所有文档并将结果存储在数组中输出。 ### 使用 `mongoose` 读取数据 以下是使用 `mongoose` 连接到 MongoDB 并读取数据的示例代码: ```javascript const mongoose = require('mongoose'); // 连接数据库 mongoose.connect('mongodb://127.0.0.1:27017/yourDatabaseName') .then(() => { console.log('Connected to MongoDB'); }) .catch((err) => { console.error('Error connecting to MongoDB:', err); }); // 创建集合规则 const newsSchema = new mongoose.Schema({ name: { type: String, required: true, minlength: 2, maxlength: 10, trim: true }, age: { type: Number, min: 1, max: 100 }, sex: { type: String, enum: { values: ['男', '女', '保密'], message: '性别要合法哦' } }, height: { type: Number, min: 1, max: 200 }, hobby: { type: String, required: true, minlength: 2, maxlength: 10, trim: true }, sc: { type: String, required: true, minlength: 2, maxlength: 10, trim: true } }); // 根据集合规则创建集合 const Hg3606 = mongoose.model('Hg3606', newsSchema); // 读取数据 async function readData() { try { const results = await Hg3606.find({}); console.log('Results:', results); } catch (err) { console.error('Error reading data:', err); } } readData(); ``` 上述代码中,用户首先使用 `mongoose.connect` 方法连接到 MongoDB 数据库,然后定义了一个集合规则 `newsSchema`,并根据该规则创建了一个集合 `Hg3606`,最后使用 `find` 方法读取集合中的所有文档并输出结果 [^3]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值