2016-12-29 65 views
0

我使用的是Mongo U C#驱动程序。我能够从MongoD中读取得很好(并且可以使用Mongo shell进行删除)。Mongo C#驱动程序不删除

但是,当我尝试做这些事情之一:

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

它返回已确认=真实的,但DeleteCount = 0

我也试着删除掉_id领域,但是,再次,它可以确认文件存在,但删除不会持续。

当我在查找中使用此确切过滤器时,我得到了我希望删除的特定行。

+0

你可以写,怎么你的收藏创造的呢?对我来说,这个“x [”student_id“]”看起来有点奇怪,我会等待像x.student_id == studentKey那样的东西 –

回答

1

我或多或少相同的问题,但对我罚款了以下工作:

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