我有一个清单BsonDocument:
var list = db.GetCollection<BsonDocument>(collectionName);
var myIds = list.Find(_ => true)
.Project(Builders<BsonDocument>.Projection.Include("_id"))
.ToList();
Run Code Online (Sandbox Code Playgroud)
其中包含:
Run Code Online (Sandbox Code Playgroud)myIds = "{ { "_id" : "cc9d9282-c9d2-4cba-a776-ffddsds274d5" }, { "_id" : "2c1ddd82-c9d2-4dda-afr6-d79ff1274d56" }, { "_id" : "ss969281-c9d2-4cba-a776-d79ffds274d5" } }"
并想这样查询:
var deleted =list.DeleteMany(Builders<MessageExchange>.Filter.In("_id", myIds));
Run Code Online (Sandbox Code Playgroud)
我也尝试过以下方法:
var filter = new BsonDocument("_id", new BsonDocument("$in", new BsonArray(myIds)));
var deleted = list.DeleteMany(filter);
Run Code Online (Sandbox Code Playgroud)
返回属性DeletedCount = 0
有人能指出过滤器似乎有什么问题吗?