У меня немного странная ситуация. Проблема в том, что некоторые из параметров в коллекции mongo
определяют глубину внутри объектов.точка обозначение params во время поиска коллекция mongo
например (мой положение дел сейчас). если искать по id
db.collection.aggregate([{$match: {id: '1234567'}}])
так мой queryObj
выглядит в стороне сервиса Node:
let queryObj = { $match: { id: customerId } };
но теперь есть еще один пары providerID
, что мне нужно принять во внимание, чтобы aggregate
Вот как это выглядит в запросе Mongo (и это отлично работает):
db.getCollection('mydb').aggregate([{$match:{id:'31250044805', 'value.transactionDetail.medicalClaim.claimHeader.value.provider.providerNumber.providerID':'42344'}}])
Как мне построить мой queryObj
сейчас в моем сервисном вызове Node.js?
Я пытался что-то вроде этого:
if(providerId) {
queryObj['$match]'['value']['transactionDetail']['medicalClaim']['claimHeader']['value']['provider']['providerNumber']['providerID'] = providerID;
}
Я также попытался:
if(providerId) {
queryObj.$match.value.transactionDetail.medicalClaim.claimHeader.value.provider.providerNumber.providerID = providerID;
}
но он не потому, что я ссылки Params на undefined
значений в цепи.
Любые предложения?