繁体   English   中英

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

[英]C# and mongoDB - Retrieving values from an array

我目前有一个充满餐馆的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);
    }
}

任何帮助将不胜感激!

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

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

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

编辑:很抱歉误解了这个问题。 希望这就是您现在正在寻找的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM