У меня есть «BSonElement» в моей БД, и я повторил попытку с помощью стандартного запроса.
Проблема заключалась в том, что я не могу привести BsonDocument к типу.
Пример:
ОБНОВЛЕНИЕ 1:
public partial class item_Stat
{
[BsonExtraElements]
public BsonDocument all_stat;
}
По сути, у меня есть свойство (поле) БД 10-15, которое я могу прочитать с помощью "BsonExtraElements".Таким образом, я могу повторить свойство без определения его в C #.
all_stat, может иметь свойство 10-15-20, которое динамически изменяется.C # является типизированным языком, поэтому я не могу определить это свойство в C #, и я использовал ExtraElements.
Проблема заключается в том, что я ЗАПРОСИРУЮ объект из БД.
var item_db = myMongoCollection.find(theQuery); // find the OBJECT
item_db.all_stat // all the property hare HERE
// find the property "category_01"
var i = item_db.all_stat.Where(p => p.Name == "category_01").Single();
// ok, i have found the Category, so i can cast it to C# Data Type
var typed_value = (ItemStatSingle) i.Value // BsonElement to ItemStatSingle