Nodejs如何使用mongo数据库
Nodejs如何使用mongo数据库
首先,请参考下面两个链接,配置并运行express和mongodb。 1.使用express生成一个空白网站 http://cnodejs.org/topic/501f43eef767cc9a51c7b90e 2.mongo数据库的安装及命令行连接 http://cnodejs.org/topic/50285b34f767cc9a512a1977
安装mongoose模块
npm install -g mongoose
mongoose官网 http://mongoosejs.com/
在express的routes/index.js文件里,加入如下代码
exports.index = function(req, res){
var mongoose = require('/usr/local/lib/node_modules/mongoose');
var db = mongoose.createConnection(‘localhost’, ‘test’);
var schema = mongoose.Schema({ name: ‘string’ });
var User = db.model(‘User’, schema);
var kitty = new User({ name: ‘Zildjian’ });
kitty.save(function (err) {
if (err) // …
res.end(‘meow’);
});
User.find({‘name’:‘Zildjian’},function(err,docs){
res.render(‘index’, { title: docs});
});
};
打开网页地址 http://localhost:3000/ 就能看到刚才新增的数据库记录输出了。
Node.js 如何使用 MongoDB
首先,确保你已经成功安装并配置了 Express 和 MongoDB。你可以参考以下链接来完成这些步骤:
-
使用 Express 生成一个空白网站: http://cnodejs.org/topic/501f43eef767cc9a51c7b90e
-
MongoDB 的安装及命令行连接: http://cnodejs.org/topic/50285b34f767cc9a512a1977
接下来,我们需要安装 mongoose
模块来简化与 MongoDB 的交互。mongoose
是一个对象文档映射器(ODM)库,用于处理 MongoDB 中的数据模型。
npm install mongoose --save
安装完成后,我们可以在 Express 应用程序中使用 mongoose
来操作 MongoDB 数据库。以下是一个简单的示例,展示了如何在 Express 应用程序中使用 mongoose
连接到 MongoDB 并进行基本的 CRUD 操作。
示例代码
假设你有一个名为 app.js
的 Express 应用程序文件,并且你想在 routes/index.js
文件中添加以下代码:
app.js
const express = require('express');
const mongoose = require('mongoose');
const indexRouter = require('./routes/index');
const app = express();
// 连接到 MongoDB
mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true });
app.use(express.json());
app.use('/', indexRouter);
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
routes/index.js
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
// 定义数据模型
const UserSchema = new mongoose.Schema({
name: String
});
const User = mongoose.model('User', UserSchema);
router.get('/', async (req, res) => {
try {
// 查询所有用户
const users = await User.find({});
res.json(users);
} catch (err) {
res.status(500).send(err.message);
}
});
router.post('/', async (req, res) => {
try {
// 创建新用户
const newUser = new User(req.body);
await newUser.save();
res.status(201).json(newUser);
} catch (err) {
res.status(500).send(err.message);
}
});
module.exports = router;
在这个示例中,我们首先定义了一个 User
模型,然后在路由中实现了两个基本的 CRUD 操作:获取所有用户信息和创建新用户。
运行应用程序
启动你的 Express 应用程序:
node app.js
现在,你可以通过访问 http://localhost:3000/
来查看所有用户信息,或者通过发送 POST 请求来创建新用户。
这样,你就成功地将 Node.js 与 MongoDB 结合使用,并实现了基本的 CRUD 操作。
这个s 入门资料么~
谢谢提意见。我现在刚接触这个,过段时间,我对这方面更熟悉了,再整理补充更好的。
期待楼主更新昂 最近感觉这个mongoose用起来是还蛮麻烦的啊
看到楼主有研究mongoose,想问一下mongoose中如何实现统计查询,比如user类有个age属性,我想查询数据库中所有user的sum(age),能搞定吗?
lz我想问一下这个查数据库是不是都是异步的,绝不阻塞?我想知道这个查数据就是这么操作么?有什么更高明的做法?比如使用线程池?