Ditto 2.0.2
|
A reference to a collection in a DittoStore. More...
Public Member Functions | |
DittoPendingCursorOperation | Find (string query) |
Creates a cursor for the documents in this collection that match the provided query. More... | |
DittoPendingCursorOperation | Find (string query, Dictionary< string, object > queryArgs) |
Creates a cursor for the documents in this collection that match the provided query, with any placeholders replaced by the relevant provided query arguments. More... | |
DittoPendingCursorOperation | FindAll () |
Creates a cursor for all of the documents in this collection. More... | |
DittoPendingIDSpecificOperation | FindById (DittoDocumentID id) |
Creates an accessor for a single document by its unique identifier. More... | |
DittoPendingIDSpecificOperation | FindById (object id) |
Creates a pending operation for a single document based on its unique identifier. More... | |
unsafe DittoAttachment | NewAttachment (string path, Dictionary< string, string > metadata=null) |
Creates a new attachment, which can then be inserted into a document. More... | |
DittoAttachmentFetcher | FetchAttachment (DittoAttachmentToken token, Action< DittoAttachmentFetchEvent > onFetchEvent) |
Trigger an attachment to be downloaded locally to the device and observe its progress as it does so. More... | |
Properties | |
string | Name [get] |
Gets the name of the collection. | |
A reference to a collection in a DittoStore.
This is the entrypoint for inserting documents into a collection, as well querying a collection.
|
inline |
Trigger an attachment to be downloaded locally to the device and observe its progress as it does so.
When you encounter a document that contains an attachment the attachment will not automatically be downloaded along with the document. You trigger an attachment to be downloaded locally to a device by calling this method. It will report changes to the attachment's fetch attempt as it tries to download it. Assuming it succeeds in downloading the attachment it will call the onFetchEvent
lambda with a completed event object, which will hold a reference to the attachment.
token | The DittoAttachmentToken relevant to the attachment that you wish to download and observe. |
onFetchEvent | A lambda that will be called when the attachment fetch attempt has a new event to deliver. |
null
will be returned. This can happen if, for example, an invalid attachment token was provided.
|
inline |
Creates a cursor for the documents in this collection that match the provided query.
query | A ditto query string. |
|
inline |
Creates a cursor for the documents in this collection that match the provided query, with any placeholders replaced by the relevant provided query arguments.
This is the recommended method to use when performing queries on a collection if you have any dynamic data included in the query string. It allows you to provide a query string with placeholders, in the form of $args.my_arg_name
, along with an accompanying dictionary of arguments, in the form of { "my_arg_name": "some value" }
, and the placeholders will be appropriately replaced by the matching provided arguments from the dictionary. This includes handling things like wrapping strings in quotation marks and arrays in square brackets, for example.
query | A ditto query string. |
queryArgs | The arguments to use to replace placeholders in the provided query. |
|
inline |
Creates a cursor for all of the documents in this collection.
|
inline |
Creates an accessor for a single document by its unique identifier.
id | The id of the document in this collection. |
|
inline |
Creates a pending operation for a single document based on its unique identifier.
id | The id of the document in this collection. |
|
inline |
Creates a new attachment, which can then be inserted into a document.
<returns></returns><summary> Inserts a new document into the collection and returns its ID. If the document already exists, the behavior is determined by the given <c>writeStrategy</c>. This method will update an existing document if you provide an <c>_id</c> value and a document with that identifier exists in the collection. Below is a snippet to show how you can use the <c>Upsert</c> functionality to update a document. <code> var docId = coll.Upsert(new Dictionary<string, object> { { "_id", new DittoDocumentID("customId") }, { "some", "string" }, }); </summary> <param name="data"> The document content. </param> <param name="writeStrategy"> Specifies the desired strategy for inserting a document. The default value is <c>DittoWriteStrategy.Merge</c>. </param> <returns> The unique <c>DittoDocumentID</c> or null if the document could not be inserted. </returns> */
public DittoDocumentID Upsert( Dictionary<string, object> data, DittoWriteStrategy writeStrategy = DittoWriteStrategy.Merge) { unsafe { return this.Upsert(data, null, writeStrategy, null); } }
/**
The file residing at the provided path will be copied into Ditto's store. The DittoAttachment object that is returned is what you can then use to insert an attachment into a document.
You can provide metadata about the attachment, which will be replicated to other peers alongside the file attachment.
Below is a snippet to show how you can use the NewAttachment
functionality to insert an attachment into a document.
var attachment = coll.NewAttachment("/path/to/my/file.pdf", metadata);
var docId = coll.Upsert(new Dictionary<string, object> { { "other", "string" }, { "attachment", attachment } });
path | The path to the file that you want to create an attachment with. |
metadata | Metadata relating to the attachment. |
DittoAttachment
object, which can be used to insert the attachment into a document.