У меня есть этот код, который должен создать фиктивную базу данных 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);