Eu tenho uma coleção que se parece com o seguinte (eu simplifiquei muito). Eu preciso consultar qualquer registro que não tenha o mesmo número de entradas clientsAccepted que clientsInvited.
/* 1 */
{
"_id" : ObjectId("5d7b8ab0f1e55a2e4b6ccfa2"),
"title" : "Service AT19",
"customersInvited" : [
429409,
429410,
900
],
"customersAccepted" : [
429409,
429410,
900
],
"groupId" : null,
"deleted" : true,
"deletedDate" : ISODate("2019-10-12T05:59:08.135Z"),
}
Isso é possível com o operador $size? Estou familiarizado com isso ao procurar um número fixo, portanto, meu plano B será adicionar dois campos separados chamados numAccepted e numInvited, atualizá-lo quando o registro for modificado e fazer algo como:
db.collection.find( { "numInvited": { $ne: "numAccepted" } } );
Eu realmente prefiro não manter campos adicionais que não preciso se for possível comparar o tamanho da matriz diretamente. Qualquer conselho que você possa dar sobre isso seria muito apreciado.