Пустой byte
массив сохраняется в MongoDB как "content_mini" : BinData(0,"")
, поэтому вы можете просто использовать $ne
для построения запроса в оболочке Mongo
db.pictures.find( {"content_mini": { $ne: new BinData(0,"") } } )
Чтобы построить этот запрос в C #, вам нужен Builders
универсальный тип и Ne
метод. Чтобы отфильтровать все пустые массивы и значения null
, используйте код ниже:
var filter = Builders<Picture>.Filter.Ne(f => f.ContentMini, new byte[] { });
var filter2 = Builders<Picture>.Filter.Ne(f => f.ContentMini, null);
var result = Col.Find(filter & filter2).ToList();
Вы не должны использовать Filter.Empty
, потому что он фактически представляет пустой запрос, как db.col.find({})
в оболочке Mongo