2
我不太確定如何標題!選擇數組中所有值存在於另一個數組中的文檔
所以我有產品ID
var productIds = [139,72,73,1,6]
的數組,並在MongoDB中
一堆客戶文檔{
name: 'James',
products: [ 73, 139 ],
_id: 5741cff3f08e992598d0a39b
}
{
name: 'John',
products: [ 72, 99 ],
_id: 5741d047f08e992598d0a39e
}
我想去找客戶時他們所有的產品出現的數組中產品ID(productIds)
我想:
'products' : {
'$in': productIds
}
但返回約翰,雖然99並不在產品ID列表
我也試過存在:
'products' : {
'$all': productIds
}
,因爲沒有客戶擁有所有的產品,沒有返回
有沒有辦法在單個查詢中實現我需要的功能,還是需要進行一些查詢後處理?
我也試過
'products': {
'$in': productIds,
'$not': {
'$nin': productIds
}
}
但這也似乎來回報客戶的時候並不是所有的產品ID匹配