В настоящее время у меня есть монгодб, заполненный ресторанами. В каждом ресторане есть массив с объектами обзора. Я пытаюсь получить список каждого объекта обзора в C#, но я не могу заставить его работать.C# и mongoDB - Извлечение значений из массива
Чтобы уточнить, я могу получить ресторан, но я не могу получить список только объектов обзора на C#.
Я попытался это, но он просто возвращает объекты ресторан мне:
var coll = Database.GetCollection<Restaurant>("restaurants")
.Aggregate()
.Unwind(x => x.reviews);
var result = await coll.ToListAsync();
foreach(var r in result)
{
Console.WriteLine(r.ToString());
}
Это мой ресторан класс:
public class Restaurant
{
[BsonId]
private ObjectId _id { get; set; }
[BsonElement("name")]
public string name { get; set; }
[BsonElement("reviews")]
public List<Review> reviews { get; set; }
public Restaurant(string name)
{
_id = ObjectId.GenerateNewId();
this.name = name;
reviews = new List<Review>();
}
public void addReview(Review r)
{
reviews.Add(r);
}
public void removeReview(Review r)
{
reviews.Remove(r);
}
}
Любая помощь будет принята с благодарностью!
http://stackoverflow.com/questions/33531808/mongodb-c-sharp-aggregation-unwind-groupby –
Я не понимаю, что это связано с созданием списка элементов из массива? – RandomStranger
Я не думаю, что вы получаете объекты ресторанов ... В моем коде вы можете восстановить массив BsonDocuments. Но я не проверял, что есть в документах :) –