diff --git a/goextVersion.go b/goextVersion.go index e26ba8f..be2c986 100644 --- a/goextVersion.go +++ b/goextVersion.go @@ -1,5 +1,5 @@ package goext -const GoextVersion = "0.0.514" +const GoextVersion = "0.0.515" -const GoextVersionTimestamp = "2024-09-16T17:39:18+0200" +const GoextVersionTimestamp = "2024-09-16T17:39:51+0200" diff --git a/wmo/queryList.go b/wmo/queryList.go index 112f2a7..a0c753d 100644 --- a/wmo/queryList.go +++ b/wmo/queryList.go @@ -215,7 +215,7 @@ func createPaginationPipeline[TData any](coll *Coll[TData], token ct.CursorToken // the conflict-resolution condition, for entries with the _same_ as the $primary we take the ones with a greater $secondary (= newer) cond = append(cond, bson.M{"$and": bson.A{ - bson.M{"$or": bson.A{bson.M{fieldPrimary: valuePrimary}, bson.M{fieldPrimary: nil}}}, + bson.M{"$or": bson.A{bson.M{fieldPrimary: valuePrimary}, bson.M{fieldPrimary: nil}, bson.M{fieldPrimary: bson.M{"$exists": false}}}}, bson.M{*fieldSecondary: bson.M{"$gt": valueSecondary}}, }}) @@ -225,7 +225,7 @@ func createPaginationPipeline[TData any](coll *Coll[TData], token ct.CursorToken // the conflict-resolution condition, for entries with the _same_ as the $primary we take the ones with a smaller $secondary (= older) cond = append(cond, bson.M{"$and": bson.A{ - bson.M{"$or": bson.A{bson.M{fieldPrimary: valuePrimary}, bson.M{fieldPrimary: nil}}}, + bson.M{"$or": bson.A{bson.M{fieldPrimary: valuePrimary}, bson.M{fieldPrimary: nil}, bson.M{fieldPrimary: bson.M{"$exists": false}}}}, bson.M{*fieldSecondary: bson.M{"$lt": valueSecondary}}, }})