Exemple #1
0
        /// <summary>
        /// The update.
        /// </summary>
        /// <typeparam retval="X">Document to match</typeparam>
        /// <typeparam retval="U">Value document</typeparam>
        /// <param retval="matchDocument">The match document.</param>
        /// <param retval="valueDocument">The value document.</param>
        /// <param retval="updateMultiple">The update multiple.</param>
        /// <param retval="upsert">The upsert.</param>
        /// <exception cref="NotSupportedException">
        /// </exception>
        public void Update <X, U>(X matchDocument, U valueDocument, bool updateMultiple, bool upsert)
        {
            AssertUpdatable();

            var ops = UpdateOption.None;

            if (updateMultiple)
            {
                ops |= UpdateOption.MultiUpdate;
            }

            if (upsert)
            {
                ops |= UpdateOption.Upsert;
            }

            var um = new UpdateMessage <X, U>(_connection, FullyQualifiedName, ops, matchDocument, valueDocument);

            um.Execute();
        }