Struct dittolive_ditto::store::Store
source · [−]pub struct Store { /* private fields */ }
Implementations
sourceimpl Store
impl Store
pub fn new(ditto: Arc<BoxedDitto>) -> Self
sourcepub fn collection(
&self,
collection_name: &str
) -> Result<Collection, DittoError>
pub fn collection(
&self,
collection_name: &str
) -> Result<Collection, DittoError>
Returns a Collection
with the provided name.
sourcepub fn collections(&self) -> PendingCollectionsOperation<'_>
pub fn collections(&self) -> PendingCollectionsOperation<'_>
Returns an object that lets you fetch or observe the collections in the store.
sourcepub fn with_batched_write<F>(
&self,
f: F
) -> Result<Vec<WriteTransactionResult>, DittoError> where
for<'batch> F: FnOnce(ScopedStore<'batch>) -> Action<'batch>,
pub fn with_batched_write<F>(
&self,
f: F
) -> Result<Vec<WriteTransactionResult>, DittoError> where
for<'batch> F: FnOnce(ScopedStore<'batch>) -> Action<'batch>,
Allows you to group multiple operations together that affect multiple documents, potentially across multiple collections, without auto-committing on each operation.
At the end of the batch of operations, either batch.commit_changes()
or batch.revert_changes()
must be called.
Example
ditto.store().with_batched_write(|batch| {
let mut foo_coll = batch.collection("foo");
foo_coll.find...().remove();
let mut bar_coll = batch.collection("bar");
// Expensive multi-mutation op:
for _ in 0 .. 10_000 {
let doc = ...;
bar_coll.insert(doc, None, false);
}
// At this point, we must say whether we commit or revert
// these changes:
batch.commit_changes()
})
sourcepub fn collection_names(&self) -> Result<Vec<String>, DittoError>
pub fn collection_names(&self) -> Result<Vec<String>, DittoError>
Returns a list of the names of collections in the store.
sourcepub fn queries_hash(
&self,
live_queries: &[LiveQuery]
) -> Result<u64, DittoError>
pub fn queries_hash(
&self,
live_queries: &[LiveQuery]
) -> Result<u64, DittoError>
Returns a hash representing the current version of the given queries. When a document matching such queries gets mutated, the hash will change as well.
Please note that the hash depends on how queries are constructed, so you should make sure to always compare hashes generated with the same set of queries.
sourcepub fn queries_hash_mnemonic(
&self,
live_queries: &[LiveQuery]
) -> Result<String, DittoError>
pub fn queries_hash_mnemonic(
&self,
live_queries: &[LiveQuery]
) -> Result<String, DittoError>
Returns a sequence of English words representing the current version of the given queries. When a document matching such queries gets mutated, the words will change as well.
Please note that the resulting sequence of words depends on how queries are constructed, so you should make sure to always compare hashes generated with the same set of queries.
pub fn start_all_live_query_webhooks(&self) -> Result<(), DittoError>
pub fn start_live_query_webhook_by_id(
&self,
doc_id: DocumentId
) -> Result<(), DittoError>
pub fn register_live_query_webhook(
&self,
collection_name: &str,
query: &str,
url: &str
) -> Result<DocumentId, DittoError>
pub fn live_query_webhook_generate_new_api_secret(
&self
) -> Result<(), DittoError>
sourcepub fn timeseries(&self, ts_name: &str) -> Result<TimeSeries, DittoError>
pub fn timeseries(&self, ts_name: &str) -> Result<TimeSeries, DittoError>
Returns a Timeseries
with the provided name.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Store
impl Send for Store
impl Sync for Store
impl Unpin for Store
impl UnwindSafe for Store
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ManuallyDropMut for T
impl<T> ManuallyDropMut for T
type Ret = ManuallyDrop<T>
pub fn manually_drop_mut(&'__ mut self) -> &'__ mut ManuallyDrop<T>
impl<T> To for T where
T: ?Sized,
impl<T> To for T where
T: ?Sized,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more