pub struct Document {
pub name: String,
pub fields: BTreeMap<String, Value>,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
}
Expand description
A Firestore document.
Must not exceed 1 MiB - 4 bytes.
Fields§
§name: String
The resource name of the document, for example
projects/{project_id}/databases/{database_id}/documents/{document_path}
.
fields: BTreeMap<String, Value>
The document’s fields.
The map keys represent field names.
Field names matching the regular expression __.*__
are reserved. Reserved
field names are forbidden except in certain documented contexts. The field
names, represented as UTF-8, must not exceed 1,500 bytes and cannot be
empty.
Field paths may be used in other contexts to refer to structured fields
defined here. For map_value
, the field path is represented by a
dot-delimited (.
) string of segments. Each segment is either a simple
field name (defined below) or a quoted field name. For example, the
structured field "foo" : { map_value: { "x&y" : { string_value: "hello" }}}
would be represented by the field path foo.`x&y`
.
A simple field name contains only characters a
to z
, A
to Z
,
0
to 9
, or _
, and must not start with 0
to 9
. For example,
foo_bar_17
.
A quoted field name starts and ends with `
and
may contain any character. Some characters, including `
, must be
escaped using a \
. For example, `x&y`
represents x&y
and
`bak\`tik`
represents bak`tik
.
create_time: Option<Timestamp>
Output only. The time at which the document was created.
This value increases monotonically when a document is deleted then
recreated. It can also be compared to values from other documents and
the read_time
of a query.
update_time: Option<Timestamp>
Output only. The time at which the document was last changed.
This value is initially set to the create_time
then increases
monotonically with each change to the document. It can also be
compared to values from other documents and the read_time
of a query.
Trait Implementations§
source§impl Message for Document
impl Message for Document
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Document
impl PartialEq for Document
impl StructuralPartialEq for Document
Auto Trait Implementations§
impl Freeze for Document
impl RefUnwindSafe for Document
impl Send for Document
impl Sync for Document
impl Unpin for Document
impl UnwindSafe for Document
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request