Nota : Cada colección contiene 96.5k documentos y cada colección tiene estos campos:
{ "name": "variable1", "startTime": "variable2", "endTime": "variable3", "classes": "variable4", "section": "variable" }Tengo 2 colecciones. Tengo que comparar estas 2 colecciones y tengo que averiguar si algunos campos específicos (aquí quiero nombre, hora de inicio, hora de finalización) de los documentos son los mismos en ambas colecciones.
Mi enfoque fue unir estas 2 colecciones y luego usar $ lookup. También probé la siguiente consulta pero no funcionó. Por favor, ayúdame.
col1.aggregate([ { "$unionWith": {"col1": "col2"} }, { "$group": { "_id": { "Name": "$Name", "startTime": "$startTime", "endTime": "$endTime" }, "count": {"$sum": 1}, "doc": {"$first": "$$ROOT"} } }, { "$match": {"$expr": {"$gt": ["$count", 1]}} }, { "$replaceRoot": {"newRoot": "$doc"} }, { "$out": "newCollectionWithDuplicates" } ])Su enfoque está bien, solo tiene un error de sintaxis menor en su $unionWith , se supone que debe ser así:
{ "$unionWith": { coll: "col2", pipeline: [] } }