2

我在 NeDB 中有一堆文件,让我们说一下表格:

{ _id : "3HDl4vDjQhcWvM76", type : "customer", name : "Bob" },
{ _id : "65byNNj7578B9hyu", type : "action", customer : "3HDl4vDjQhcWvM76", ... },

(所以一个“行动”引用一个“客户”)

我想做一些事情,比如列出所有操作以及他们的客户名称。显而易见的方法是:

db.find({ type: 'action' }, function (err, actions) {
  actions.forEach(function(action) {
    db.findOne({ type: 'customer', _id : action.customer }, function (err, customer) {
      console.log(action, customer.name);
    });
  });
 });

但这很快就会变得痛苦。有没有更好的方法来做到这一点?就像是:

db.find({ type: 'action' }, {join : ["customer"]}, function (err, actions) {
  console.log(action, action.customer.name); 
});

会很棒的。

这似乎是一件很常见的事情,但我似乎找不到任何关于这样做的信息。

谢谢!

4

0 回答 0