首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ID筛选和获取所有详细信息并不能在C#中显示数据库中的所有细节

通过ID筛选和获取所有详细信息并不能在C#中显示数据库中的所有细节
EN

Stack Overflow用户
提问于 2022-10-24 15:15:07
回答 2查看 35关注 0票数 1

我是C#的新手,目前正在尝试CRUD操作。我已经完成了创建、获取所有细节、更新和删除。但是我无法通过ID获取所有的详细信息。

我有一个名为“燃料”的数据库,并在其中添加了shedId。每个棚屋都可以有多种燃料。现在我想得到每个shedID的燃料细节。

在这里,您可以看到我有两个shedID:1的数据

但是,当我试图通过shedID过滤数据库时,我会得到这样的响应。因为我是C#的新手,所以我不知道怎么得到它。我在谷歌搜索,却找不到解决办法。

请帮我处理这个。

这是我试过的代码

代码语言:javascript
复制
    //Get Fuel by each shed id
    [HttpGet("shed/{id}")]
    public JsonResult Get(int id)
    {
        MongoClient dbClient = new MongoClient(_configuration.GetConnectionString("FuelQueueAppConnection"));

        var filter = Builders<Fuel>.Filter.Eq("shedId", id);

        var dbList = dbClient.GetDatabase("FuelQueue").GetCollection<Fuel>("Fuel").Find(filter);
        return new JsonResult(dbList);
    }

总结-我有一个叫燃料的数据库。我有很多燃料。每种燃料都有一个shedID和一个shedID可以有多种燃料。现在我需要找到每个shedID的燃料清单。(就像ShedID:1 => 2燃料细节)

EN

回答 2

Stack Overflow用户

发布于 2022-10-24 16:02:45

我建议两件事,不要试图将返回直接匹配到对象,使用泛型,因此如果格式更改或不对齐,则仍然有返回。

另外,如果Mongo返回一个列表,请使用.ToList()方法。

代码语言:javascript
复制
                    //filter by time values less than 2019-11-22 T 06:13:20.000Z
                    var filter = Builders<BsonDocument>.Filter.Eq("shed_id", 1);

                    //get the collection from the new db
                    var NewDB = dbNewClient.GetDatabase("FuelQueue");
                    var NewCollection = NewDB.GetCollection<BsonDocument>("Fuel");

                    //get all the documents that satisfy the filter
                    var documents = NewCollection.Find(filter).ToList();

这应该返回This 1的所有记录,从那里您必须解析来自每个记录的燃料数据。

票数 1
EN

Stack Overflow用户

发布于 2022-10-24 15:50:42

我刚刚发现,由于结果需要是一个列表,所以我必须在筛选之后添加ToList()。我正在添加解决方案,因为它可能会帮助某人在未来。

代码语言:javascript
复制
    //Get Fuel by each shed id
    [HttpGet("shed/{id}")]
    public JsonResult Get(int id)
    {
        MongoClient dbClient = new MongoClient(_configuration.GetConnectionString("FuelQueueAppConnection"));

        var filter = Builders<Fuel>.Filter.Eq("shedId", id);

        var dbList = dbClient.GetDatabase("FuelQueue").GetCollection<Fuel>("Fuel").Find(filter).ToList();
        return new JsonResult(dbList);
    }

谢谢大家的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74183287

复制
相关文章

相似问题

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