У меня есть данные выглядит, как показано нижекак нажать элемент в массиве в драйвере в MongoDB .net
> db.people.findOne({"Name":"Jones"})
{
"_id" : ObjectId("551dcbdc360fbd77107f8a37"),
"Name" : "Jones",
"Age" : 30,
"Profession" : "Hacker"
}
Классы определяется как
class Person
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public List<string> Colors { get; set; }
public List<Pet> Pets { get; set; }
}
class Pet
{
public string Name { get; set; }
public string Type { get; set; }
}
И я пытаюсь нажать Pet элемент в домашних Поле
var pet = new Pet
{
Name = "Boneless",
Type = "Gold Fish",
};
var result = await coll_t.UpdateOneAsync(Builders<Person>.Filter.Eq("Name", "Jones"), Builders<Person>.Update.Push(x => x.Pets, pet));
Console.WriteLine(string.Format("MatchedCount = {0}; ModifiedCount = {1}; UpsertedId = '{2}';"), result.MatchedCount.ToString(), result.ModifiedCount.ToString(), result.UpsertedId.ToString());
Обновление не дает никаких пояснений. Но он не обновлялся. MatchedCount в результате равен 0, а ModifiedCount - тоже 0. Что я пропустил?
спасибо,
PS. Console.WriteLine (....) не показывает ничего похожего на то, что он столкнулся с ошибкой, не прошедшей проверку. Есть идеи?