Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongo C#驱动程序未删除_C#_Mongodb_C# 4.0_Mongodb .net Driver - Fatal编程技术网

Mongo C#驱动程序未删除

Mongo C#驱动程序未删除,c#,mongodb,c#-4.0,mongodb-.net-driver,C#,Mongodb,C# 4.0,Mongodb .net Driver,我用的是Mongo U C#驱动程序。我能够从MongoD中很好地阅读(并且可以使用Mongoshell删除) 但当我尝试做这些事情时: var DeleteOne = await col.DeleteOneAsync(x => (x["student_id"] == studentKey) && (x["score"] == scoreVal)); var DeleteTwo = await col.DeleteOneAsync( Builders<

我用的是Mongo U C#驱动程序。我能够从MongoD中很好地阅读(并且可以使用Mongoshell删除)

但当我尝试做这些事情时:

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)
        );
var DeleteOne=wait col.DeleteOneAsync(x=>(x[“学生id”]==studentKey)&&(x[“分数”]==scoreVal));
var deletetetetwo=wait col.DeleteOneAsync(
Builders.Filter.Eq(“学生id”,学生密钥)
&Builders.Filter.Eq(“score”,scoreVal)
);
var deletetetree=col.DeleteOne(
Builders.Filter.Eq(“学生id”,学生密钥)
&Builders.Filter.Eq(“score”,scoreVal)
);
它返回Acknowledged=true,但DeleteCount=0

我也尝试过从_id字段中删除,但是,同样,它可以确认文档存在,但是删除不会持续


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

我或多或少遇到了相同的问题,但以下方法对我来说很好:

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

你能写下,你的收藏是如何创建的吗?对我来说,这个“x[“student\u id”]”看起来有点奇怪,我会在那里等待像x.student\u id==studentKey这样的东西