INNER CODE UNIT · Go
byId
rwynn/gtm · gtm.go:776
byId := make(map[interface{}][]*Op)
for _, op := range buf.Entries {
if op.IsUpdate() && op.Doc == nil {
idKey := fmt.Sprintf("%s.%v", op.Namespace, op.Id)
ns[op.Namespace] = append(ns[op.Namespace], op.Id)
byId[idKey] = append(byId[idKey], op)
}
}
retry:
for n, opIds := range ns {
var parts = strings.SplitN(n, ".", 2)
db, col := parts[0], parts[1]
sel := bson.M{"_id": bson.M{"$in": opIds}}
collection := client.Database(db).Collection(col)
cursor, err := collection.Find(context.Background(), sel)
if err == nil {
for cursor.Next(context.Background()) {
doc := make(map[string]interface{})