2016-12-29 117 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); 
相關問題