环回关系模型查询

时间:2016-09-30 18:07:49

标签: model relational loopback

我们在环回中有数据模型,其中客户将与订单具有hasMany关系,当我查询客户时,订单将以特定客户的数组形式出现,如果我想使用环回给出的现有选项,那么我需要使用选项查询以获得在AND条件中具有某些订单名称的所有客户。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

如果我理解正确,你的意思是这样的 Customers.find({where: {orderId = 1}}, function (err, cb) ??

如果你想使用和/或条件,这是一个例子:

Post.find({where: {and: [{title: 'My Post'}, {content: 'Hello'}]}}, 
          function (err, posts) {
            ...
});

您可以在此链接中找到更多信息: https://docs.strongloop.com/display/public/LB/Where+filter#Wherefilter-and/or

答案 1 :(得分:0)

我认为您正在寻找过滤器[include]功能: http://loopback.io/doc/en/lb2/Include-filter.html

我在这里发现的问题不支持外键。您可以在模型本身中定义复合(多个字段)主键,但不能基于复合键{field1,field2,...],自定义解决方法定义关系。

答案 2 :(得分:0)

您可以查询,但它类似于左连接,如SQL。

通过以下查询:

width:100%

结果:

Customer.find({
  where:{},
  include: {
     relation: 'orders',
     scope: {
       where: {
           name: 'order name'
       }
     }
  }
}, (err, callback))

更多信息: Loopback doc reference

但是如果你想要完全然后使用本机mongo查询:

customers array with orders as array
ex: [
     {
        name: customer A,
        orders: [{...},{...}]
     },
     {
        name: customer B,
        orders: [] //That does not match condition in scope
     }
   ]

和fire aggregate(Native mongo query)