我們有迴環中的數據模型,其中客戶將與訂單具有hasMany關係,並且當我查詢客戶時,訂單將出現在該特定客戶的數組中,並且如果我想使用由給定的現有選項迴環什麼是我需要使用查詢來獲得特定命令名稱在AND條件下的所有客戶選項。環回關係模型查詢
在此先感謝您的幫助。
我們有迴環中的數據模型,其中客戶將與訂單具有hasMany關係,並且當我查詢客戶時,訂單將出現在該特定客戶的數組中,並且如果我想使用由給定的現有選項迴環什麼是我需要使用查詢來獲得特定命令名稱在AND條件下的所有客戶選項。環回關係模型查詢
在此先感謝您的幫助。
如果我理解正確,你的意思是這樣的 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
我認爲你正在尋找的過濾器[include]功能: http://loopback.io/doc/en/lb2/Include-filter.html
問題我在這裏發現不支持外鍵。您可以在模型本身內定義組合(多個字段)主鍵,但無法基於組合鍵{field1,field2,...]自定義替代方法來定義關係。
你可以查詢,但它會像SQL一樣左連接。
通過以下查詢:
Customer.find({
where:{},
include: {
relation: 'orders',
scope: {
where: {
name: 'order name'
}
}
}
}, (err, callback))
結果:
customers array with orders as array
ex: [
{
name: customer A,
orders: [{...},{...}]
},
{
name: customer B,
orders: [] //That does not match condition in scope
}
]
MoreInfo:Loopback doc reference
但是,如果你想要的是再使用本地蒙戈查詢:
CustomerCollection = Customer.getDataSource().connector.collection("Customer");
and fire aggregate(Native mongo query)