我是C#的新手,目前正在尝试CRUD操作。我已经完成了创建、获取所有细节、更新和删除。但是我无法通过ID获取所有的详细信息。
我有一个名为“燃料”的数据库,并在其中添加了shedId。每个棚屋都可以有多种燃料。现在我想得到每个shedID的燃料细节。
在这里,您可以看到我有两个shedID:1的数据

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

请帮我处理这个。
这是我试过的代码
//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燃料细节)
发布于 2022-10-24 16:02:45
我建议两件事,不要试图将返回直接匹配到对象,使用泛型,因此如果格式更改或不对齐,则仍然有返回。
另外,如果Mongo返回一个列表,请使用.ToList()方法。
//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的所有记录,从那里您必须解析来自每个记录的燃料数据。
发布于 2022-10-24 15:50:42
我刚刚发现,由于结果需要是一个列表,所以我必须在筛选之后添加ToList()。我正在添加解决方案,因为它可能会帮助某人在未来。
//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);
}谢谢大家的帮助。
https://stackoverflow.com/questions/74183287
复制相似问题