我将项目的关系及其属性存储在结构中:
{'item': <item_id>,
'rel_name': 'sizes:4762',
'rel_type': 'sizes',
'rel_value': '4762'}
并拥有在 mongodb shell 中完美运行的 mongoDB 查询:
db.relations.distinct(
'rel_name',
{item:{
$in: db.items.distinct('id', {
'attributes.cat': {$in:[477]},
'attributes.sizes': {$in:[4762,5071,5072,5089,5555,903]}
})
}}
)
并且需要使用 asyncmongo 运行它以避免获取 items.distinct 值并将其传递回 mongo 的开销(它可能超过 10000)也许有没有办法将整个查询作为字符串传递并获得结果?