我目前有一个充满餐馆的mongodb。每家餐馆都有一系列带有评论对象的餐厅我试图检索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数组。但我没有测试文档中的内容:) –