js-bao 0.7.0-alpha.1 → 0.7.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +1 -3
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -793,9 +793,7 @@ const results = await Product.query({
793
793
  - **Text**: `$startsWith`, `$endsWith`, `$containsText` (case-insensitive by default)
794
794
  - **Existence**: `$exists`
795
795
 
796
- **Absent fields.** `$ne`, `$nin` and `{ field: null }` **match records where the field is absent** — a record that never wrote the field is not equal to any value, as in MongoDB. Equality with a value, the comparison operators and `$in` **match only records that carry the field**. Presence is `$exists`, whose handling of an explicitly stored null is path-dependent: the server counts a **stored JSON null** as present, while the browser and Swift replicas keep each field in a typed column where a stored null is indistinguishable from absence.
797
-
798
- **Breaking change (#3166).** `$ne`/`$nin` used to exclude records lacking the field. A negative-operator filter used to *exclude* records by a possibly-absent field — including hook-injected access filters and write conditions — now matches those records too. To keep the old result set, exclude the missing case with a `null` entry in `$nin` — `{ deleted: { $nin: [null, true] } }`, which matches only records carrying a non-null value other than the excluded one, on every path. `$exists: true` alongside the negative operator is not equivalent: the server counts an explicitly stored JSON null as present, so `{ deleted: { $ne: true, $exists: true } }` still matches a null-valued record the old filter excluded.
796
+ **Absent fields (#3166).** `$ne`, `$nin` and `{ field: null }` match records that never wrote the field; equality, the comparison operators and `$in` match only records that carry it. To keep excluding the missing case, put `null` in the `$nin` list: `{ deleted: { $nin: [null, true] } }`. Full semantics, including `$exists` and how a stored null differs by path: [Documents guide, §Absent fields](../../primitive-docs/guides/latest/AGENT_GUIDE_TO_PRIMITIVE_DOCUMENTS.ts.md#absent-fields).
799
797
 
800
798
  ### Sorting and Pagination
801
799
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-bao",
3
- "version": "0.7.0-alpha.1",
3
+ "version": "0.7.0-alpha.3",
4
4
  "description": "A library providing data modeling capabilities which support live updates and queries.",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",