Compare commits

...

2 Commits

Author SHA1 Message Date
chao
5f81f632f8
Merge pull request #3659 from withchao/3.8.3-patch
fix: Mongo Malloc upsert overwrites min_seq initialization
2026-01-15 11:02:35 +08:00
withchao
72c39e1dda fix: seq use $setOnInsert for min_seq in conversation update
(cherry picked from commit c27d33160f167a7d967f9d1cb74a6b48c5e44ca9)
2026-01-15 10:56:40 +08:00

View File

@ -57,8 +57,8 @@ func (s *seqConversationMongo) Malloc(ctx context.Context, conversationID string
}
filter := map[string]any{"conversation_id": conversationID}
update := map[string]any{
"$inc": map[string]any{"max_seq": size},
"$set": map[string]any{"min_seq": int64(0)},
"$inc": map[string]any{"max_seq": size},
"$setOnInsert": map[string]any{"min_seq": int64(0)},
}
opt := options.FindOneAndUpdate().SetUpsert(true).SetReturnDocument(options.After).SetProjection(map[string]any{"_id": 0, "max_seq": 1})
lastSeq, err := mongoutil.FindOneAndUpdate[int64](ctx, s.coll, filter, update, opt)