嵌套查询mongoose .find

时间:2018-05-09 20:54:20

标签: javascript node.js mongodb mongoose

您好我在执行嵌套查询时遇到问题,该查询将值与唯​​一键匹配。

我的架构如下:

const AnalyticsSchema = mongoose.Schema({
    requestsByStatusNew: Number,
    requestsByStatusNewIds: Schema.Types.Mixed,
})

其中requestsByStatusNewIds的格式为:

{
  UNIQUE_ID: 1,
  ANOTHER_UNIQUE_ID: 1
}

我想要做的是查找并返回我的集合中的一个对象,其中查询与其中一个嵌套的唯一ID匹配。这可能吗?

这就是我试图做的事情:

const query = {
    requestsByStatusNewIds: {
    }
};

query['requestsByStatusNewIds'][`${request._id}`] = 1;

Analytics.find(query, '_id').then((err, analytics) => {
  console.log(analytics);
  console.log(err);
});

1 个答案:

答案 0 :(得分:0)

您的orUNIQUE_ID

似乎需要ANOTHER_UNIQUE_ID条件
db.collection.find({
    "$or": [{
        "requestsByStatusNewIds.UNIQUE_ID": "ID"
    }, {
        "requestsByStatusNewIds.ANOTHER_UNIQUE_ID": "ID"
    }]
});