public async Task <UpdateResult> UpdateManyAsync()
        {
            var collection = GetAddCollection();
            var doc1       = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Willma Flintstone"
            };
            var doc2 = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Pebbles Flintstone"
            };

            collection.InsertMany(new List <CustomMongoDB2_6Entity>()
            {
                doc1, doc2
            });

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.In("name", new List <string> {
                "Willma Flintstone", "Pebbles Flintstone"
            });

            var update = Builders <CustomMongoDB2_6Entity> .Update.Set("familyName", "Flintstone 'Async'");

            var result = await collection.UpdateManyAsync(filter, update);

            return(result);
        }
        public async Task <IAsyncCursor <BsonDocument> > MapReduceAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Fred Flintstone"
            };

            collection.InsertOne(document);

            var mapJs = @"function mapF() {
							emit(this.name, 1);
						};"                        ;

            var reduceJs = @"function reduceF(key, values) {
							var sum = Array.sum(values);
							return new NumberLong(sum);
						};"                        ;

            BsonJavaScript map    = new BsonJavaScript(mapJs);
            BsonJavaScript reduce = new BsonJavaScript(reduceJs);
            var            filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Fred Flintstone");

            MapReduceOptions <CustomMongoDB2_6Entity, BsonDocument> options = new MapReduceOptions <CustomMongoDB2_6Entity, BsonDocument>
            {
                Filter        = filter,
                OutputOptions = MapReduceOutputOptions.Inline
            };

            return(await collection.MapReduceAsync(map, reduce, options));
        }
 public async Task InsertOneAsync()
 {
     var collection = GetAddCollection();
     var document   = new CustomMongoDB2_6Entity {
         Id = new ObjectId(), Name = "Fred 'Async' Flintstone"
     };
     await collection.InsertOneAsync(document);
 }
        private void EnsureCollectionExists(IMongoCollection <CustomMongoDB2_6Entity> collection)
        {
            var document = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "collection_exists_document"
            };

            collection.InsertOne(document);
        }
        public void InsertOne()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Fred Flintstone"
            };

            collection.InsertOne(document);
        }
        public int CreateOne()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = ""
            };

            collection.InsertOne(document);
            collection.Indexes.CreateOne(Builders <CustomMongoDB2_6Entity> .IndexKeys.Ascending(k => k.Name));
            return(1);
        }
 public async Task InsertManyAsync()
 {
     var collection = GetAddCollection();
     var document1  = new CustomMongoDB2_6Entity {
         Id = new ObjectId(), Name = "Willma 'Async' Flintstone"
     };
     var document2 = new CustomMongoDB2_6Entity {
         Id = new ObjectId(), Name = "Pebbles 'Async' Flintstone"
     };
     await collection.InsertManyAsync(new List <CustomMongoDB2_6Entity>() { document1, document2 });
 }
        public async Task <IAsyncCursor <string> > DistinctAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Fred Flintstone"
            };

            collection.InsertOne(document);
            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Fred Flintstone");

            return(await collection.DistinctAsync <string>("name", filter));
        }
        public long Count()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Fred Flintstone"
            };

            collection.InsertOne(document);
            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Fred Flintstone");

            return(collection.Count(filter));
        }
Exemplo n.º 10
0
        public async Task <int> CreateManyAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = ""
            };

            collection.InsertOne(document);

            var result = await collection.Indexes.CreateManyAsync(new[] { new CreateIndexModel <CustomMongoDB2_6Entity>(Builders <CustomMongoDB2_6Entity> .IndexKeys.Ascending(k => k.Name)) });

            return(result.Count());
        }
Exemplo n.º 11
0
        public async Task <CustomMongoDB2_6Entity> FindOneAndDeleteAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "The Great 'Async' Gazoo"
            };

            collection.InsertOne(document);

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "The Great 'Async' Gazoo");

            var entity = await collection.FindOneAndDeleteAsync(filter);

            return(entity);
        }
Exemplo n.º 12
0
        public async Task <IAsyncCursor <CustomMongoDB2_6Entity> > FindAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Mr. Slate"
            };

            collection.InsertOne(document);

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Mr.Slate");

            var cursor = await collection.FindAsync(filter);

            return(cursor);
        }
Exemplo n.º 13
0
        public async Task <DeleteResult> DeleteOneAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Barney 'Async' Rubble"
            };

            collection.InsertOne(document);

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Barney 'Async' Rubble");

            var result = await collection.DeleteOneAsync(filter);

            return(result);
        }
Exemplo n.º 14
0
        public void InsertMany()
        {
            var collection = GetAddCollection();
            var doc1       = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Willma Flintstone"
            };
            var doc2 = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Pebbles Flintstone"
            };

            collection.InsertMany(new List <CustomMongoDB2_6Entity>()
            {
                doc1, doc2
            });
        }
Exemplo n.º 15
0
        public BulkWriteResult BulkWrite()
        {
            var collection = GetAddCollection();
            var doc1       = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Fred Flintstone"
            };
            var doc2 = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Willma Flintstone"
            };

            var result = collection.BulkWrite(new WriteModel <CustomMongoDB2_6Entity>[] {
                new InsertOneModel <CustomMongoDB2_6Entity>(doc1),
                new InsertOneModel <CustomMongoDB2_6Entity>(doc2)
            });

            return(result);
        }
Exemplo n.º 16
0
        public async Task <CustomMongoDB2_6Entity> FindOneAndUpdateAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Roxy 'Async' Rubble"
            };

            collection.InsertOne(document);

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Roxy 'Async' Rubble");

            var update = Builders <CustomMongoDB2_6Entity> .Update.Set("familyName", "'Async' Rubble");

            var entity = await collection.FindOneAndUpdateAsync <CustomMongoDB2_6Entity>(filter, update);

            return(entity);
        }
Exemplo n.º 17
0
        public async Task <BulkWriteResult> BulkWriteAsync()
        {
            var collection = GetAddCollection();
            var doc1       = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Fred 'Async' Flintstone"
            };
            var doc2 = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Willma 'Async' Flintstone"
            };

            var result = await collection.BulkWriteAsync(new WriteModel <CustomMongoDB2_6Entity>[] {
                new InsertOneModel <CustomMongoDB2_6Entity>(doc1),
                new InsertOneModel <CustomMongoDB2_6Entity>(doc2)
            });

            return(result);
        }
Exemplo n.º 18
0
        public async Task <UpdateResult> UpdateOneAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Dino Flintstone"
            };

            collection.InsertOne(document);

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Dino 'Async' Flintstone");

            var update = Builders <CustomMongoDB2_6Entity> .Update.Set("name", "Dinosaur 'Async' Flintstone");

            var result = await collection.UpdateOneAsync(filter, update);

            return(result);
        }
Exemplo n.º 19
0
        public async Task <CustomMongoDB2_6Entity> FindOneAndReplaceAsync()
        {
            var collection = GetAddCollection();
            var document   = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Joe 'Async' Rockhead"
            };

            collection.InsertOne(document);

            var replaceDoc = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Joe 'Async' Rockhead's Doppelganger"
            };
            var filter = Builders <CustomMongoDB2_6Entity> .Filter.Eq("name", "Joe 'Async' Rockhead");

            var entity = await collection.FindOneAndReplaceAsync(filter, replaceDoc);

            return(entity);
        }
Exemplo n.º 20
0
        //This call will throw exception because the Watch() method only work with MongoDb replica sets, but it is fine as long as the method is executed.
        public async Task <string> WatchAsync()
        {
            try
            {
                var collection = GetAddCollection();
                var document   = new CustomMongoDB2_6Entity {
                    Id = new ObjectId(), Name = "Fred Flintstone"
                };
                collection.InsertOne(document);
                await collection.WatchAsync();

                return("Ok");
            }
            catch (MongoCommandException)
            {
                return("Got exception but it is ok!");
            }
        }
Exemplo n.º 21
0
        public async Task <DeleteResult> DeleteManyAsync()
        {
            var collection = GetAddCollection();
            var document1  = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "Betty 'Async' Rubble"
            };
            var document2 = new CustomMongoDB2_6Entity {
                Id = new ObjectId(), Name = "BamBam 'Async' Rubble"
            };

            collection.InsertMany(new List <CustomMongoDB2_6Entity>()
            {
                document1, document2
            });

            var filter = Builders <CustomMongoDB2_6Entity> .Filter.In("name", new List <string> {
                "Betty 'Async' Rubble", "BamBam 'Async' Rubble"
            });

            var result = await collection.DeleteManyAsync(filter);

            return(result);
        }