gpt4 book ai didi

MongoDB C# 删除不起作用

转载 作者:可可西里 更新时间:2023-11-01 09:57:30 25 4
gpt4 key购买 nike

我有这段代码用于从 mongofb 排序规则中删除一个项目

private MongoCollection<T> GetCollection()
{
connectionString = "mongodb://localhost/?safe=true";
server = MongoServer.Create(connectionString);
database = server.GetDatabase("CSCatalog");

return database.GetCollection<T>("myCollectionName");
}
public bool Delete(T entity)
{
var id = typeof(T).GetProperty("Id").GetValue(entity,null).ToString();
var query = Query.EQ("_id",id);
var finded = GetCollection().Find(query); // return null
var result= GetCollection().Remove(query, MongoDB.Driver.RemoveFlags.Single); // no errors, but don't remove

return esito.Ok; //return true but donn't remove.


}

GetCollection() 方法检索正确的集合,我已经测试了它的宽度调试。在集合中有我要删除的项目,它具有与我在第一行中检索到的相同的 ID。

实体有一些字段和一个名为“Id”的 Objectid 字段

最佳答案

您创建的 _id 类型是 ObjectId 类,您正试图等同于字符串,因此它无法删除。使用

var queryId = new ObjectId(id);

关于MongoDB C# 删除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com