MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Altere o tipo de campo dentro da agregação do mongoDB e o $lookup utiliza o índice nos campos ou não?


Você não pode converter a string para um ID de objeto dentro do pipeline, você terá que passar por cada documento e convertê-lo manualmente, usando algo como (você não deveria estar armazenando uma combinação de tipos de qualquer maneira, então provavelmente vale a pena atualizar no longo correr):

como converter string em valores numéricos no mongodb

quanto ao $ lookup usa o índice, se você olhar as estatísticas deste blog, verá que os índices são usados ​​-

http://guyharrison.squarespace.com/blog/2016/7/4/join-performance-in-mongodb-32-using-lookup.html