Skip to content

Commit e425c9a

Browse files
committed
PV tech review 1
1 parent 84e8c85 commit e425c9a

File tree

1 file changed

+22
-25
lines changed

1 file changed

+22
-25
lines changed

docs/eloquent-models/schema-builder.txt

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -124,39 +124,37 @@ builder methods:
124124
- ``Schema::create()``: When creating a new collection
125125
- ``Schema::table()``: When updating collection properties
126126

127-
After you implement schema validation, the server allows you to run only
128-
those write operations which follow the validation rules. Use schema
129-
validation to restrict data types and value ranges of document fields in
130-
a specified collection.
127+
You can use schema validation to restrict data types and value ranges of
128+
document fields in a specified collection. After you implement schema
129+
validation, the server restricts write operations that don't follow the
130+
validation rules.
131131

132-
Before creating a collection with schema validation rules, you must
133-
define a JSON schema.
132+
You can pass the following parameters to ``jsonSchema()``:
134133

135-
The schema is a JSON object that contains key-value pairs
136-
specifying the validation rules for your collection. At the top level,
137-
this object must include a ``$jsonSchema`` object. The ``$jsonSchema``
138-
object can include the following fields:
139-
140-
- ``title``: Sets an optional title for the schema.
141-
- ``required``: Specifies a list of required fields for each document in your collection.
142-
- ``properties``: Sets property requirements for individual fields.
143-
144-
To view a full list of JSON schema object fields, see :manual:`JSON Schema
145-
</reference/operator/query/jsonSchema/#json-schema>` in the {+server-docs-name+}.
146-
147-
You can optionally pass the following parameters to ``jsonSchema()``:
134+
- ``schema``: Array that specifies the validation rules for the
135+
collection. To learn more about constructing a schema, see
136+
the :manual:`$jsonSchema </reference/operator/query/jsonSchema/>`
137+
reference in the {+server-docs-name+}.
148138

149139
- ``validationLevel``: Sets the level of validation enforcement.
150140
Accepted values are ``"strict"`` (default) and ``"moderate"``.
141+
151142
- ``validationAction``: Specifies the action to take when invalid
152143
operations are attempted. Accepted values are ``"error"`` (default) and
153144
``"warn"``.
154145

155-
This example demonstrates how to pass a JSON schema to the
146+
This example demonstrates how to specify a schema in the
156147
``jsonSchema()`` method when creating a collection. The schema
157-
validation specifies that documents in the ``pilots`` collection must
158-
contain the ``license_number`` field with an integer value between
159-
``1000`` and ``9999``.
148+
validation has the following specifications:
149+
150+
- Documents in the ``pilots`` collection must
151+
contain the ``license_number`` field.
152+
153+
- The ``license_number`` field must have an integer value between
154+
``1000`` and ``9999``.
155+
156+
- If you attempt to perform invalid write operations, the server raises
157+
an error.
160158

161159
.. literalinclude:: /includes/schema-builder/flights_migration.php
162160
:language: php
@@ -166,8 +164,7 @@ contain the ``license_number`` field with an integer value between
166164

167165
If you attempt to insert a document into the ``pilots`` collection that
168166
violates the schema validation rule, {+odm-long+} returns a
169-
:php:`BulkWriteException <mongodb-driver-exception-bulkwriteexception>`
170-
because the validation action is set to ``"error"``.
167+
:php:`BulkWriteException <mongodb-driver-exception-bulkwriteexception>`.
171168

172169
.. _laravel-eloquent-collection-exists:
173170

0 commit comments

Comments
 (0)