首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Get对象在asp.net api mongodb中具有对象数组

Get对象在asp.net api mongodb中具有对象数组
EN

Stack Overflow用户
提问于 2022-09-30 14:13:21
回答 1查看 112关注 0票数 0

我想要获得mongodb中的所有Carts对象,但是结果是缺少项列表。

示例数据mongodb:

代码语言:javascript
运行
复制
{
  "_id": "temp",
  "total": "2300000",
  "buyer": "test",
  "items": [
    {
      "name": "IP-8",
      "amount": "2",
      "price": "20000"
    },
    {
      "name": "IP-12",
      "amount": "2",
      "price": "20000"
    }
  ]
}

结果:

代码语言:javascript
运行
复制
[{"id":"temp","buyer":"test","total":2300000}]

这里有两个类:

代码语言:javascript
运行
复制
public class Carts
{
    [BsonId]
    public string Id { get; set; }
    public string buyer { get; set; }
    public double total { get; set; }
    [BsonElement("items")]
    List<CartItem> items { get; set; }

}

public class CartItem
{
    [DataMember]
    public string name { get; set; }

    [DataMember]
    public int amount { get; set; }

    [DataMember]
    public double price { get; set; }
}

函数类:

代码语言:javascript
运行
复制
public class TempCartService
{
    private readonly IMongoCollection<Carts> _temp;
    //private readonly IMongoCollection<CartItem> _items
    public TempCartService(IOptions<ShopDbSetting> options)
    {
        var mongoClient = new MongoClient(options.Value.ConnectionString);
        _temp = mongoClient.GetDatabase(options.Value.DatabaseName)
            .GetCollection<Carts>("Carts");
    }
    public async Task<List<Carts>> FindAll() =>
      await _temp.Find(_ => true).ToListAsync();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-30 15:18:05

请将可访问的修饰符更改为public,请参阅下面的代码

代码语言:javascript
运行
复制
public class Carts
{
    [BsonId]
    public string Id { get; set; }
    public string buyer { get; set; }
    public double total { get; set; }
    [BsonElement("items")]
    public List<CartItem> items { get; set; }

}

public class CartItem
{
    [DataMember]
    public string name { get; set; }

    [DataMember]
    public int amount { get; set; }

    [DataMember]
    public double price { get; set; }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73910093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档