The equality condition, which an array-typed field does not offer.
IN owns the array syntax, so for a List-stored field a bare array is read
as a list of values to compare against rather than as the list itself — the
two are indistinguishable, and the builder resolves the ambiguity in IN's
favour. Offering V there would advertise a whole-list equality the
compilation cannot express. The IN form for such a field is a list of
lists: see InConditionFor.
The value is compared whole, so it is written as
AllowNullInWholeValue describes: an object, or a list element named
by an index, takes null on a nullable field at any depth. dyna-record
stores a nulled field by leaving it out, and the expression builder leaves it
out of the bound value too, so the operand equals the value as stored.
Distributes for the same reason the operator gates do.
Type Parameters
V
The attribute's declared type.
Example
// A shipping address whose nullable `zip` is not set filter: { shippingAddress: { street: "1 Main St", city: "Denver", zip: null } }
// The first line item of an order, without a note filter: { "details.lineItems[0]": { sku:"MUG-1", quantity:2, note:null } }
The equality condition, which an array-typed field does not offer.
INowns the array syntax, so for a List-stored field a bare array is read as a list of values to compare against rather than as the list itself — the two are indistinguishable, and the builder resolves the ambiguity inIN's favour. OfferingVthere would advertise a whole-list equality the compilation cannot express. TheINform for such a field is a list of lists: see InConditionFor.The value is compared whole, so it is written as AllowNullInWholeValue describes: an object, or a list element named by an index, takes
nullon a nullable field at any depth. dyna-record stores a nulled field by leaving it out, and the expression builder leaves it out of the bound value too, so the operand equals the value as stored.Distributes for the same reason the operator gates do.