2016-12-29 4 views
0

私はMongo U C#ドライバを使用しています。私はMongoDからうまく読める(Mongoシェルを使って削除できる)。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); 
関連する問題