2017-04-26 41 views
-3

我有两个集合我想执行一种左连接但想通过路由器API执行。我是节点js的新手。你能帮我吗?在nodejs中创建一个get api来加入基于id的两个集合像一个左连接

+0

你能解释更多你想做什么? – mast3rd3mon

+0

我有一个集合说书有ID,并有第二个集合说BookSale有bookID。我想加入基于ID和BookID的集合并获得集合。我想通过路由器中的API调用来完成。 –

+0

你想要api电话加入他们还是你想加入他们然后做api电话? – mast3rd3mon

回答

-1

对我来说,你有三种解决方案:

1)的代码,它自己的JavaScript和做有两个API调用(也不好)

2)你有lookup解决方案,它是详细的一个功能在这个其他post(似乎是正确的解决方案)

编辑:

3)第三种解决方案也是在same post,它看起来是这样的:(大多数人都是d卷板机但作为优化选项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(); 
    } 
); 
+0

我只看到2个解决方案 – mast3rd3mon

+0

你是对的我忘了写我编辑的最后一个解决方案 – Amine

+0

谢谢@Amine,很抱歉迟到这里。 –

相关问题