如何使用C#驱动程序将文档移动到MongoDB中的另一个数据库?

时间:2017-10-29 17:31:58

标签: c# mongodb

这就是我想要做的事情:

  1. 我从数据库A中检索所有文档,然后根据文档中的内容将它们分为两类。 (代码完成)

  2. 如果此文档属于类别1,则应将其移至MongoDB中的另一个数据库。

  3. 如果此文档属于类别2,则应将其从数据库中删除。

  4. 如何实现第2步?到目前为止,这是我的代码:

    if (Answer == "Yes")
    {
        MongoClient mclient = new MongoClient();
        var mdatabase = mclient.GetDatabase("Data");
        var mcollection = mdatabase.GetCollection<BsonDocument>("Sample1");
        var filter = Builders<BsonDocument>.Filter.Eq("Answer", data);
        //Data variable is consist of the Answer string    
        //How to move this document into another database?
    }
    else if (Answer == "No")
    {
        MongoClient mclient = new MongoClient();
        var mdatabase = mclient.GetDatabase("Data");
        var mcollection = mdatabase.GetCollection<BsonDocument>("Sample1");
        var filter = Builders<BsonDocument>.Filter.Eq("Answer", data);
        var result = await mcollection.DeleteManyAsync(filter);
    }
    

    谢谢,如果有人可以提供帮助!我在这里呆了很多天。

1 个答案:

答案 0 :(得分:2)

您的过滤器变量现在包含所有已过滤的BsonDocuments。所以你可以打开新的数据库连接

var newDatabase= mclient.GetDatabase("newdb");

并使用适当的命令将值插入新的值, 并删除旧数据库中的相同内容,就像在elseif情况下一样。