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

Posted

技术标签:

【中文标题】MongoDB / Mongoose / nodejs 中的引用 - 并行化【英文标题】:References in MongoDB / Mongoose / nodejs - parallelization 【发布时间】:2015-06-09 08:14:42 【问题描述】:

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

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

既然他们说,建议使用手动参考,我决定通过以下方式设置架构:

var schema = new mongoose.Schema(
    name : String,
    reference : mongoose.Schema.ObjectId
);
    问题:如果我从我的集合中检索这些对象的数组,如何以一种好的做法解决引用?

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

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

我在其中动态填充函数数组

var functions = []

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

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

【问题讨论】:

希望这个链接对你有帮助.. ***.com/questions/28712248/… 为什么不使用猫鼬的支持参考population? @JohnnyHK 太好了,我不知道这一点。谢谢 【参考方案1】:

您可以使用 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 字段都填充有引用的文档。

【讨论】:

以上是关于MongoDB / Mongoose / nodejs 中的引用 - 并行化的主要内容,如果未能解决你的问题,请参考以下文章

??? MongoDB ??? Node.js ????????? Mongoose ??

node 通过mongoose实现 mongodb的增删改

Node 使用mongodb的mongoose是否很坑

node.js,mongodb,mongoose,html 我如何插入数据(在 index.html 中)?

使用 mongoose(Node.js) 在 MongoDB 中搜索

带有 Node.js 连接错误的 MongoDB (Mongoose) - 寻找洞察力