Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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
C# 使用C在mongodb中按id字段删除文档#_C#_Mongodb_Mongodb .net Driver - Fatal编程技术网

C# 使用C在mongodb中按id字段删除文档#

C# 使用C在mongodb中按id字段删除文档#,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,我正在尝试按id删除文档,它是ObjectId类型,我确实已将字符串转换为ObjectId并作为参数传递以从集合中删除,但我无法删除该记录 我不知道背后的实际原因是什么,正在寻找解决方案,下面是我的代码示例: public void DeleteRecords(string objectID) { try { // Create server settings to pass connection

我正在尝试按id删除文档,它是ObjectId类型,我确实已将字符串转换为ObjectId并作为参数传递以从集合中删除,但我无法删除该记录

我不知道背后的实际原因是什么,正在寻找解决方案,下面是我的代码示例:

 public void DeleteRecords(string objectID)
        {
            try
            {
                // Create server settings to pass connection string, timeout, etc.
                MongoServerSettings settings = new MongoServerSettings();
                settings.Server = new MongoServerAddress("localhost", 27017);
                // Create server object to communicate with our server
                MongoServer server = new MongoServer(settings);

                MongoDatabase myDB = server.GetDatabase("DemoMongoDB");

                MongoCollection<BsonDocument> records = myDB.GetCollection<BsonDocument>("Records");
                //var query = Query<Records>.EQ(fd => fd._id, ObjectId.Parse(name));
                var query = Query<Records>.EQ(e => e._id, new BsonObjectId(objectID));
                records.Remove(query);

            }
            catch (Exception ex)
            {

            }
        }
public void DeleteRecords(字符串objectID)
{
尝试
{
//创建服务器设置以传递连接字符串、超时等。
MongoServer设置=新建MongoServer设置();
settings.Server=新的MongoServer地址(“localhost”,27017);
//创建与服务器通信的服务器对象
MongoServer服务器=新的MongoServer(设置);
MongoDatabase myDB=server.GetDatabase(“DemoMongoDB”);
MongoCollection记录=myDB.GetCollection(“记录”);
//var query=query.EQ(fd=>fd.\u id,ObjectId.Parse(name));
var query=query.EQ(e=>e._id,新的BsonObjectId(objectID));
记录。删除(查询);
}
捕获(例外情况除外)
{
}
}

尝试下面的代码,看看是否正常工作

var query = Query.EQ("_id", new BsonObjectId("objectID"));


最后,这对我是有效的,没有将字符串转换为对象id,并将其作为参数作为字符串本身传递

var query = Query.EQ("_id", objectID);
records.Remove(query);

有什么例外吗?如果是这样,请在此处发布异常代码运行良好,没有任何异常,但文档不会被删除。此代码的可能重复对我有效,无需将字符串转换为对象id,谢谢:)var query=query.EQ(“_id”,name);记录。删除(查询);叫什么名字?是你的田园诗吗名字是我的目标
var query = Query.EQ("_id", objectID);
records.Remove(query);