Mongo集合通过过滤器查找ID

mbh*_*n88 5 c# mongodb mongodb-query

要从mongo集合中查找一个项目,我正在尝试将过滤器应用于集合.但是有一个编译错误如下.

在此输入图像描述

此代码取自官方mongodb文档

var filter = Builders<BsonDocument>.Filter.Eq("_id", id);
var result = _collection.Find(filter);
Run Code Online (Sandbox Code Playgroud)

rno*_*nko 6

Generic Type of Builder应与collection的泛型类型相同.在您的情况下,集合应该具有BsonDocument类型.

var _collection = database.GetCollection<BsonDocument>("name");
var filter = Builders<BsonDocument>.Filter.Eq("_id", id);
var result = _collection.Find(filter);
Run Code Online (Sandbox Code Playgroud)


小智 6

当“_id”是 BsonType.ObjectId 时,您将需要像这样使用 ObjectId.Parse:

var _collection = database.GetCollection<BsonDocument>("name");
var filter = Builders<BsonDocument>.Filter.Eq("_id", ObjectId.Parse(id));
var result = _collection.Find(filter);
Run Code Online (Sandbox Code Playgroud)