繁体   English   中英

MongoDB不会在集合中插入第二个文档(C#驱动程序)

[英]MongoDB doesn't insert a second document into a collection (C# Driver)

我写了一个小工具来试用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)}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM