C#和mongoDB - 从数组中检索值

时间:2016-09-06 12:47:12

标签: c# mongodb

我现在有一个充满餐馆的mongodb。每家餐馆都有一个带有评论对象的数组。我正在尝试在C#中检索每个审阅对象的列表,但我无法使其工作。

因此,为了澄清,我可以找到一家餐馆,但我似乎无法获得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);
    }
}

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要一个类函数来返回餐厅名称和评论对象。

public String getName(Restaurant rest)
{
    return rest.name;
}

public List<Review> getReviews(Restaurant rest)
{
    return rest.reviews;
}

编辑:抱歉误解了这个问题。希望这是你现在正在寻找的。