监听一个字段的变化:
func watch(coll *mongo.Collection) {
match := bson.D{{"operationType", "update"},
{"updateDescription.updatedFields.name...", bson.D{{"$exists", true}}}}
coll.Watch(context.Background(), mongo.Pipeline{{{"$match", match}}},...options.ChangeStream().SetFullDocument(options.UpdateLookup))
}
监听两个字段的变化:
func watch(coll *mongo.Collection...$exists", true}},
}},
}}
coll.Watch(context.Background(), mongo.Pipeline...{{{"$match", match}}},
options.ChangeStream().SetFullDocument(options.UpdateLookup))
}
任意一个变化,用$or