这就是我想要做的事情:
我从数据库A中检索所有文档,然后根据文档中的内容将它们分为两类。 (代码完成)
如果此文档属于类别1,则应将其移至MongoDB中的另一个数据库。
如果此文档属于类别2,则应将其从数据库中删除。
如何实现第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);
}
谢谢,如果有人可以提供帮助!我在这里呆了很多天。
答案 0 :(得分:2)
您的过滤器变量现在包含所有已过滤的BsonDocuments。所以你可以打开新的数据库连接
var newDatabase= mclient.GetDatabase("newdb");
并使用适当的命令将值插入新的值, 并删除旧数据库中的相同内容,就像在elseif情况下一样。