Couchbase Server permits the definition of extended attributes. These allow application developers to define application-specific metadata that will only be visible to those applications that request it or attempt to modify it. This might be, for example, meta-data specific to a programming framework that should be hidden by default from other frameworks, or possibly from other versions of the same framework.
The SDK supports extended attributes by means of extensions to the Subdocument API: so that extended attributes can be defined, searched for, edited, removed, and more.
In order to specify that a subdocument operation should be performed on an extended rather than a regular attribute, an
xattr flag should be set to
true, by the calling application.
Virtual extended attributes consist of meta-data on an individual document: this can be retrieved by specifying
$document as a search-path.
For more information, see Extended Attributes — Fundamentals.