1

我有这个代码:

public async void SaveAuditLog(AuditLog a)
{
    var db = new MongoDBContext();
    var o = db.GetMongoDatabase(Common.Common.MongoDbConnectionString);

    var audit = o.GetCollection<AuditLog>("AuditLog");

    await audit.InsertOneAsync(a);
}

public IMongoDatabase GetMongoDatabase(string connectionstring)
{
    MongoClient client = new MongoClient(connectionstring);
    return client.GetDatabase("test");
}

这是来自 web.config 的连接字符串:

<add connectionString="mongodb://localhost:27017" name="mongodb"></add>

当我通过 robomongo 检查数据时,它没有显示任何插入的数据。

我也尝试了以下代码并且没有插入数据:

public async void SaveAuditLog(AuditLog a)
{
    var client = new MongoClient(Common.Common.MongoDbConnectionString);
    var o = client.GetDatabase("test");

    var audit = o.GetCollection<BsonDocument>("AuditLog");

    var document = new BsonDocument { {"Test", "test"} };

    await audit.InsertOneAsync(document);
}

我正在使用csharpdriver2.2 的 mongo。我究竟做错了什么?

4

1 回答 1

1

发现数据被插入到 mongodb 中,并且 robomongo 版本 0.8.5 本身存在一个错误,它不显示 mongodb 版本 3 及更高版本的集合/文档。

运行了一些返回数据的脚本(在 robomongo 中):

 db.stats()

db.CollectionName.find()

下载了 mongochef 并立即显示数据。

于 2015-12-30T07:20:21.470 回答