我的收藏品名为“列表”,其中包含 metadata
和 status
等字段。元数据是一个包含 user
对象的对象, status
是一个字符串。
结构如下所示,
{“status”:“有效”,“元数据”:{ “user”:{ “urlProfile”:“”, “averageRating”:5, “reviewCount”:2, “userId”:“1244324” }}
现在,状态字段包含 "Active"
和 "Inactive"
等值。我需要按这些状态进行分组并按userId进行过滤。所以我在帮助器中有一个函数,如下所示,
query: function (model, conditon, options) {
console.log(conditon, options);
return new Promise(function (resolve, reject) {
options = options || {};
model.find(conditon, {}, options).exec(function (error, data) {
if (error) {
reject(error);
}
resolve(data);
})
})
}
问题是我如何通过用户ID传递组并查询所需的数据。现在我的查询部分看起来像这样,
return dbService.query(sellerModel, {
'metadata.user.userId': userIdRetrieved
}, {});
我怎样才能按条件通过小组?我找了样品,到现在为止都找不到任何解决方案。
预期输出:
[{
"Status": "Active",
"Results": {
"user": {
"urlProfile": "",
"averageRating": 5,
"reviewCount": 2,
"userId": "1244324"
}
}
}
,
{
"Status": "InActive",
"Results": {
"user": {
"urlProfile": "",
"averageRating": 5,
"reviewCount": 2,
"userId": "1244324"
}
}
}]
答案 0 :(得分:2)