我有两个集合我想要执行一种左连接但想要通过路由器API执行。我是节点js的新手。你能帮帮我吗。
答案 0 :(得分:-1)
对我来说,你有三个解决方案:
1)使用Javascript自行编码并使用两个Api调用执行一项功能(完全不好)
2)你有lookup解决方案,详见另一个post(似乎是正确的解决方案)
编辑:
3)第三个解决方案也在same post中,它看起来像这样:(大多数人都在做,但是如同选项2一样优化),它不是你想要的解决方案,因为它没有合并两个集合一次,但你最终得到你想要的相同类型的数据
db.collection1.find().forEach(
function (document) {
document.collection2 = db.collection2.find( { "collection1": document._id } ).toArray();
document.collection3 = db.collection3.find( { "_id": { $in: document.collection3 } } ).toArray();
}
);