Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mongo Collection Find By Id with Filter

To find one item from mongo collection, I am trying to apply filter and to the collection. But there is a compilation error as below.

enter image description here

This code is taken from official mongodb docs

var filter = Builders<BsonDocument>.Filter.Eq("_id", id);
var result = _collection.Find(filter);
like image 417
Hary Avatar asked Jun 18 '15 13:06

Hary


2 Answers

Generic Type of Builder should be the same as for collection's generic type. In your case collection should have type BsonDocument.

var _collection = database.GetCollection<BsonDocument>("name");
var filter = Builders<BsonDocument>.Filter.Eq("_id", id);
var result = _collection.Find(filter);
like image 188
rnofenko Avatar answered Oct 13 '22 20:10

rnofenko


When the "_id" is a BsonType.ObjectId, you will need to use ObjectId.Parse like this:

var _collection = database.GetCollection<BsonDocument>("name");
var filter = Builders<BsonDocument>.Filter.Eq("_id", ObjectId.Parse(id));
var result = _collection.Find(filter);
like image 37
Amir Abrams Avatar answered Oct 13 '22 20:10

Amir Abrams