MongoDB不会将第二个文档插入集合(C#Driver)

时间:2014-06-05 07:52:32

标签: c# mongodb insert

我写了一个小工具来试用MongoDB。 它生成一个嵌套随机数量的子类和子类的类(当然在某些范围内),所以我有一些数据。

当我尝试将数据插入到集合中时,它在创建集合时第一次起作用。每当我尝试在此现有集合中插入此类的另一个实例时,都不会发生任何事情。没有异常被抛出,mongo服务器似乎没有做任何事情。

    public WriteConcernResult InsertData(MyClass instance, string collection)
    {
        if (DbDatabase.GetCollection(collection) != null)
        {
            WriteConcernResult result;

            try
            {
                result = DbDatabase.GetCollection(collection).Insert(instance);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                result = null;
            }

            return result;
        }

        return null;
    }

我使用这个错了吗?我怎样才能知道数据会发生什么?

编辑:这是WriteConcernResult:

的结果
  

{“ok”:1,“n”:NumberLong(0)}

1 个答案:

答案 0 :(得分:0)

仍然没有足够的代码来回答您的问题。你能提供一个可以重现问题的独立样本吗?

例如,以下独立程序正确插入两个文档。您可以尝试修改它以重现您所看到的内容吗?

public static class Program
{
    public static void Main(string[] args)
    {
        var client = new MongoClient("mongodb://localhost");
        var server = client.GetServer();
        var database = server.GetDatabase("test");
        var collection = database.GetCollection("test");

        collection.Drop();
        collection.Insert(new BsonDocument("_id", 1));
        collection.Insert(new BsonDocument("_id", 2));
    }
}