javascript - MongoDB/Mongoose/nodejs 中的引用资料 - 并行化

标签 javascript node.js mongodb reference mongoose

我想使用nodejs/mongoose获取mongoDB中的引用。

在文档中我读到有两个选项:Manual References or DBRefs.

既然他们声明,建议使用手动引用,我决定按以下方式设置架构:

var schema = new mongoose.Schema({
    name : String,
    reference : mongoose.Schema.ObjectId
});
  1. 问题:如果我从集合中检索这些对象的数组,如何以良好的实践方式解析引用?

我的想法是使用 Nimble并并行化必要的请求。我想做一些类似的事情

flow.parallel(functions, function() {
    return result;
}); 

我动态填充函数数组

var functions = []

然后我将其传递给 nimble。 (类似这样的问题:Javascript Array of Functions)

  • 问题:这实用吗?函数数组似乎不太适合我。但我没有看到任何替代方案,因为需要使用静态数量的函数来调用 nimble。
  • 最佳答案

    可以引用Mongoose的支持population有效地遵循引用文献。

    var schema = new mongoose.Schema({
        name : String,
        reference : { type: mongoose.Schema.ObjectId, ref: 'OtherModel' }
    });
    var MyModel = mongoose.model('MyModel', schema);
    MyModel.find().populate('reference').exec(function(err, docs) {...});
    

    在上面的示例中,每个 docs 元素的 reference 字段都会填充引用的文档。

    关于javascript - MongoDB/Mongoose/nodejs 中的引用资料 - 并行化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29445740/

    相关文章:

    mongodb - 从 csv 追加到 mongodb

    javascript - 以主体为中心的可拖动固定元素导致它在 IE 和 Chrome 中向左移动?

    javascript - Order By (alias) then Order by second sequelize

    javascript - 在每个请求 nodejs 中获取更新的文件

    javascript - Mongoose 在更新时对多个字段进行自定义验证

    mongodb - 如何使用findone从Mongodb集合返回数组

    javascript - 将 mousedown 焦点更改为新的 div

    javascript - 使用 dd/mm/yyyy 检查一个日期是否早于另一个日期

    javascript - 无法更改在 UpdatePanel 内创建的 JavaScript 变量

    node.js - Node.js 和 FireFox 之间的关系