コード例 #1
0
        public void UpdateOneEmbeddedData(Messages parentDocument, ImageMessageEmbedded updatedData)
        {
            FilterDefinitionBuilder <Messages> filterBuilder = Builders <Messages> .Filter;
            FilterDefinition <Messages>        filter        = filterBuilder.And(filterBuilder.Eq("_id", parentDocument.ID), filterBuilder.Eq("image_message._id", updatedData.ID));
            UpdateDefinition <Messages>        update        = Builders <Messages> .Update.Set(document => document.SentImages[-1], updatedData);

            connectionManager.RetrieveCollection <Messages>().FindOneAndUpdate(filter, update);
        }
コード例 #2
0
        public void DeleteEmbeddedDocument(Messages parentDocument, ImageMessageEmbedded deleteData)
        {
            FilterDefinitionBuilder <Messages> filterBuilder = Builders <Messages> .Filter;
            FilterDefinition <Messages>        filter        = filterBuilder.And(filterBuilder.Eq("_id", parentDocument.ID), filterBuilder.Eq("image_message._id", deleteData.ID));
            UpdateDefinition <Messages>        update        = Builders <Messages> .Update.PullFilter("SentImages", Builders <ImageMessageEmbedded> .Filter.Eq("_id", deleteData.ID));

            connectionManager.RetrieveCollection <Messages>().FindOneAndUpdate(filter, update);
        }
コード例 #3
0
        public void AppendNewDataItem(Messages parentDocument, ImageMessageEmbedded newData)
        {
            FilterDefinition <Messages> filter = Builders <Messages> .Filter.Eq("_id", parentDocument.ID);

            UpdateDefinition <Messages> update = Builders <Messages> .Update.Push("image_message", newData);

            connectionManager.RetrieveCollection <Messages>().UpdateOne(filter, update);
        }