Managing JSON Documents
To perform CRUD operations (create, read, update, and delete) on JSON documents in
MapR-DB JSON tables using the OJAI API, you use Document
,
DocumentStore
, and DocumentMutation
objects.
You can also perform these operations using MapR-DB Shell (JSON Tables).
Document
To create a JSON document in Java OJAI, use the Document interface.
DocumentStore
After you create a Document
object, you can pass it to the
DocumentStore
interface. The interface has methods to perform the
following tasks:
- Delete documents from tables
- Insert documents into tables
- Replace documents in tables
See DocumentStore for details about the interface.
DocumentMutation
To make
changes to JSON documents, create a DocumentMutation
object. A
DocumentMutation
enables you to perform OJAI mutations, which includes
replacing, updating, combining, and deleting fields in a JSON document. For a list of
available mutations, see Using OJAI Mutation Syntax.
To create a DocumentMutation
object, call the methods in
the DocumentMutation
class corresponding to the mutation operations you
want to perform. See DocumentMutation for a list of available
methods.
Pass the DocumentMutation
object to either
the DocumentStore.checkAndMutate or DocumentStore.update method to apply the changes to the document. The
first method accepts a QueryCondition parameter that must evaluate
to true for the mutation to be applied. Both methods have an _id
parameter
corresponding to the document to be updated.
By default, the default maximum size of a JSON document is 32 MB. A
DocumentMutation
does not enforce this limit. MapR-DB enforces the limit
when you pass your DocumentMutation
object to the
DocumentStore
method. See JSON Document Size for information about how
to increase this limit.
See Examples: Updating JSON Documents for examples that use mutations.