예제 #1
0
        public void TestFindAndModifyTyped()
        {
            collection.RemoveAll();
            var obj = new FindAndModifyClass {
                Id = ObjectId.GenerateNewId(), Value = 1
            };

            collection.Insert(obj);

            var query      = Query.EQ("_id", obj.Id);
            var sortBy     = SortBy.Null;
            var update     = Update.Inc("Value", 1);
            var result     = collection.FindAndModify(query, sortBy, update, true); // returnNew
            var rehydrated = result.GetModifiedDocumentAs <FindAndModifyClass>();

            Assert.AreEqual(obj.Id, rehydrated.Id);
            Assert.AreEqual(2, rehydrated.Value);
        }
        public void TestFindAndModifyTyped()
        {
            _collection.RemoveAll();
            var obj = new FindAndModifyClass { Id = ObjectId.GenerateNewId(), Value = 1 };
            _collection.Insert(obj);

            var query = Query.EQ("_id", obj.Id);
            var sortBy = SortBy.Null;
            var update = Update.Inc("Value", 1);
            var result = _collection.FindAndModify(query, sortBy, update, true); // returnNew
            var rehydrated = result.GetModifiedDocumentAs<FindAndModifyClass>();
            Assert.AreEqual(obj.Id, rehydrated.Id);
            Assert.AreEqual(2, rehydrated.Value);
        }
        public void TestFindAndModifyTyped()
        {
            _collection.RemoveAll();
            var obj = new FindAndModifyClass { Id = ObjectId.GenerateNewId(), Value = 1 };
            _collection.Insert(obj);

            var args = new FindAndModifyArgs
            {
                Query = Query.EQ("_id", obj.Id),
                Update = Update.Inc("Value", 1),
                VersionReturned = FindAndModifyDocumentVersion.Modified
            };
            var result = _collection.FindAndModify(args);
            var rehydrated = result.GetModifiedDocumentAs<FindAndModifyClass>();

            Assert.AreEqual(obj.Id, rehydrated.Id);
            Assert.AreEqual(2, rehydrated.Value);
        }