【发布时间】:2016-01-30 07:28:00
【问题描述】:
我是一名(相对缺乏经验的)Java EE 开发人员,希望学习 node.js。我正在使用 express 框架、mongodb 和 mongoose 框架。我一直在使用类似 mvc 的架构构建一个简单的博客站点(仅供练习)。它将有 4 个 mongodb 集合:post、image、user、comment。基本模式如下:
postSchema = mongoose.Schema({
id: Number,
dateCreated, {type: Date, default: Date.now}
title: String,
content: String
});
var Post = mongoose.model('Post', postSchema);
imageSchema = mongoose.Schema({
id: Number,
postId: Number,
path: String
});
var Image = mongoose.model('Image', imageSchema);
userSchema = mongoose.Schema({
id: Number,
username: String,
password: String,
email: String
});
var User = mongoose.model('User', userSchema);
commentSchema = mongoose.Schema({
id: Number,
postId: Number,
userId: Number,
dateCreated: {type: Date, default: Date.now},
content: String
});
var Comment = mongoose.model('Comment', commentSchema);
我希望能够在一个页面上显示帖子、图像、cmets 和用户信息。我的问题是我不太清楚如何以异步方式检索和发送所有这些数据。这似乎是我发现的大多数示例所做的(不一定都在一个文件中):
app.get('/', function(res, req) {
Post.findOne(function(err, post) {
if (err) return res.send(500);
res.render('index', post);
});
});
这对我不起作用,因为我也会从图像、评论和用户集合中获取信息。有没有异步的方法来做到这一点?如果没有,有没有办法重新配置我所拥有的,以便它可以是异步的? (我正在尝试了解异步编程。)
提前致谢!
【问题讨论】:
标签: node.js mongodb asynchronous express mongoose