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匹配