我有各种各样领域的大量不同产品。 一旦字段命名为'ar_related' 这包含0个或许多不同的数组。例如,它可以保持:
also_viewed,also_bought,buy_together,buy_after_viewing
以下是文档示例:
getJSON(options, function (err, result) {
if (err) {
// handle the error
this.emit(':tell', 'Error getting country names');
return console.log('ERROR while trying to get country names', err);
}
console.log(result);
// handle the successful result
this.emit(':tell', 'The country name was retrieved!');
});
我想要实现的是返回(并计算)包含' buy_together' ar_related对象中的数组。有些产品包含它,有些则没有。
我尝试过几种不同的方法,主要使用$ elemMatch运算符,但我没有运气。从SQL背景来看,我是NoSQL的新手。
任何回复都将不胜感激。
答案 0 :(得分:0)
试试这个
db.getCollection('products').find({ "ar_related": {
$exists: true,
$elemMatch: { "bought_together": {$exists: true} }
}
})
答案 1 :(得分:0)
db.P14162135_products.find({
"ar_related.brought_together":{$exists: true}
}).count();
谢谢大家的回复