繁体   English   中英

在mongodb中获取新集合在mongodb C#驱动程序中不起作用

[英]Getting new collections in mongodb is not working in mongodb c# driver

考虑以下代码:

static void Main(string[] args)
{
    MongoClient mongo = new MongoClient();
    var mongoServer = mongo.GetServer();
    mongoServer.Connect();
    var db = mongoServer.GetDatabase("Shelf", WriteConcern.Unacknowledged);

    mongoServer.RequestStart(db);
    db.GetCollection("Book" + 1).Insert(new BsonDocument
                          {
                              {"_id", ObjectId.GenerateNewId(DateTime.Now)},
                              {
                                  "Properties", new BsonDocument
                                                {
                                                    {"title", "qwd"},
                                                    {"author", "a good writer1"},
                                                }
                              },
                              {"ISBN", "23423525"},
                          });

    db.GetCollection("Book" + 2).Insert(new BsonDocument
                          {
                              {"_id", ObjectId.GenerateNewId(DateTime.Now)},
                              {
                                  "Properties", new BsonDocument
                                                {
                                                    {"title", "qwdqw"},
                                                    {"author", "a good writer2"},
                                                }
                              },
                              {"ISBN", "23423525"},
                          });

    mongoServer.RequestDone();
}

我在程序中使用MongoDb C#驱动程序。 第一次运行上述代码后,虽然在执行过程中没有引发异常,但我只在Shelf Db中创建了Book1 ,而没有另一个集合。 随着该代码的进一步执行,还将创建其他集合。 为什么MongoDb C#驱动程序的行为如此,我的代码出了什么问题? 提前致谢。

我认为问题出在WriteConcern.Unacknowledged 。您应该将其更改为WriteConcern.Acknowledged 。您不必等到写入请求发送到mongod。 您也可以检查日记选项。

暂无
暂无

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

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