【问题标题】:mongodb - unable to insert recordmongodb - 无法插入记录
【发布时间】:2016-04-04 02:32:19
【问题描述】:

我有这个代码:

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);
}

我正在使用 csharpdriver 用于 2.2 的 mongo。我做错了什么?

【问题讨论】:

  • 据我所知,您没有指定数据库名称,这可能是我的问题。看看这个。让我们知道。
  • 在第二种方法client.GetDatabase("test")中指定
  • 我一定错过了,抱歉。
  • 我也添加了这段代码进行测试,它正在打印 _ids: Console.WriteLine(a._id); Console.ReadKey();但是当我检查数据时,没有数据

标签: c# mongodb visual-studio-2015 robo3t


【解决方案1】:

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

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

 db.stats()

db.CollectionName.find()

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

【讨论】:

    猜你喜欢
    • 2016-07-02
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2011-07-05
    • 2020-02-21
    • 1970-01-01
    相关资源
    最近更新 更多