Mongo C#驱动程序没有删除

时间:2016-12-29 19:27:38

标签: c# mongodb c#-4.0 mongodb-.net-driver

我正在使用Mongo U C#驱动程序。我可以从MongoD中读取得很好(并且可以使用Mongo shell删除)。

但是当我尝试做其中一件事时:

var DeleteOne = await col.DeleteOneAsync(x => (x["student_id"] == studentKey) && (x["score"] == scoreVal));

var DeleteTwo = await col.DeleteOneAsync(
        Builders<BsonDocument>.Filter.Eq("student_id", studentKey)
        & Builders<BsonDocument>.Filter.Eq("score", scoreVal)
);

var DeleteThree = col.DeleteOne(
        Builders<BsonDocument>.Filter.Eq("student_id", studentKey)
            & Builders<BsonDocument>.Filter.Eq("score", scoreVal)
        );

它返回Acknowledged = true,但DeleteCount = 0。

我也尝试删除_id字段,但是,它再次确认文档存在,但删除不会持续存在。

当我在查找中使用这个精确过滤器时,我得到了我想要删除的特定行。

1 个答案:

答案 0 :(得分:1)

我或多或少有同样的问题,但以下对我来说很好:

var myContext = new MyContext();
var builder = Builders<MyType>.Filter;
var filter = builder.Eq (x => x.Id, someId);
myContext.MyCollection.DeleteOneAsync(filter);