Подключение MongoDB к макету базы данных и создание коллекций - PullRequest
1 голос
/ 05 марта 2020

У меня есть этот код, который должен создать фиктивную базу данных Mongodb. Я пытаюсь создать коллекцию имени students и записать в нее данные bson. Однако по какой-то причине возвращаемая коллекция всегда равна нулю в этой строке var collection = db.GetCollection < BsonDocument > ("students");. Я подозреваю, что это потому, что я не настраиваю базу данных должным образом или база данных не работает. Любая помощь приветствуется!

 public async Task CreateMock() {
   var dbMock = new Mock < IMongoDatabase > ();
   var resultCommand = new BsonDocument("ok", 1);
   dbMock
    .Setup(stub => stub.RunCommandAsync < BsonDocument > (It.IsAny < Command < BsonDocument >> (), It.IsAny < ReadPreference > (), It.IsAny < CancellationToken > ()))
    .ReturnsAsync(resultCommand)
    .Verifiable();

   var mongoClientMock = new Mock < IMongoClient > ();
   mongoClientMock
    .Setup(stub => stub.GetDatabase(It.IsAny < string > (), It.IsAny < MongoDatabaseSettings > ()))
    .Returns(dbMock.Object);

   var db = dbMock.Object;

   db.CreateCollection("students");
   var collection = db.GetCollection < BsonDocument > ("students");

  var document = new BsonDocument
                {
                    {"firstname", BsonValue.Create("Peter")},
                    {"lastname", new BsonString("Mbanugo")},
                    { "subjects", new BsonArray(new[] {"English", "Mathematics", "Physics"}) },
                    { "class", "JSS 3" },
                    { "age", 45}
                };

   collection.InsertOne(document);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...