BsonDocument.CompareTo 不具备对称性: 具有不同键的文档在两个方向上都比较大
作者: JKamsker创建于 2026年9月16日更新于 2026年9月16日
标签bugbreaking-changeseverity: highpriority: P2
`BsonDocument.CompareTo` 只遍历左侧文档的键,并在右侧文档中查找每个键,并将缺失的键视为 `Null`。当两个文档具有不同的键集时,每个侧面都在自己的侧面找到非 `Null` 值,而在另一个侧面找到 `Null`,因此无论是 `a.CompareTo(b)` 还是 `b.CompareTo(a)`,都返回 `1`。`IComparable` 要求 `sign(a.CompareTo(b)) == -sign(b.CompareTo(a))`。
内容来源: litedb-org/LiteDB