現在、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の配列に巻き戻しの結果。しかし、私は文書の内容をテストしなかった:) –