Я пытаюсь получить дочерний элемент из моего документа с помощью коннектора C#.Получить дочерний элемент из документа
Мой документ выглядит следующим образом:
// sample document
{
"_id":
{
"$oid":"myid"
},
"Somedata":"This is a test",
"object1":
{
"name":"myname",
"object2":
{
"Text":"Hello World!"
}
}
}
У меня есть класс, который отображает на это, что выглядит примерно так:
[BsonIgnoreExtraElements]
public class MyDataClass
{
[BsonId]
public ObjectId Id { get; set; }
[BsonElement("object1.object2.Text")]
public string Text;
[BsonElement("Somedata")]
public string Data;
}
Когда запрос выполняется, идентификатор и Переменные данных заполнены, но переменная текста - нет. Я предполагаю, что это потому, что он находится внутри объекта, но я не уверен, где я ошибаюсь.
Я считаю, ваш _id находится в неправильном формате, вы уверены, что _id { "$ oid": "myid" } – Disposer
Когда mongodb возвращает документ, он возвращает весь документ. В SQL нет конкретного выбора имени столбца, как мы можем. Поэтому вам нужно выполнить итерацию через Object1, чтобы получить текстовое поле. Я считаю, что драйвер mongodb не сделает это за вас – qamar
В отличие от сайтов на форуме, мы не используем «Спасибо», «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -Удалена-от-сообщений). –