我在loopback model.Want中使用对象字段数组来使用"inq“选项来过滤day.Already已经看到了文档,但这些文档是用于字符串数组的,而不是Iam发现的。
weekDays": [
{
"day": "Monday",
"startTime": "03:45",
"endTime": "04:23"
},
{
"day": "Wednesday",
"startTime": "03:23",
"endTime": "12:23"
}字符串数组的语法类似于{weekDays:{inq:[]}},这里需要做哪些修改。
发布于 2018-09-20 18:33:31
在MongoDB中可以使用两种方式
1.简单的find方法
db.getCollection('user').find({'weekDays.day' : {$in: ["Monday"]}})2.通过使用聚合
db.getCollection('user').aggregate([
{$unwind:'$weekDays'},
{$match : {'weekDays.day' : {$in : ['Monday']}}},
{ "$group": {
"_id": "$id",
"weekDays" : { "$push": "$weekDays" },
}},
])3.在loopback中聚合
var collection = ModelName.getDataSource().connector.collection("myCollection");
collection.aggregate(
[
{ $unwind:'$weekDays' },
{ $match : {'weekDays.day' : {$in : ['Monday']}}},
{ "$group": { "_id": "$id", "weekDays" : { "$push": "$weekDays" }}},
],
function(err, data) {
if (err) {
} else {
console.lod(data)
});
}
}
);https://stackoverflow.com/questions/52404430
复制相似问题