c# - 如何在 C# 中查询 MongoDb 的 id 字段并列出 id 的列表
问题描述
我正在尝试遍历 MongoDb 数据库集合中的 id。目标是遍历这些 id 并使用 id 创建具有不同 id 的 json 文件。我相信我写的查询返回了所有的 id,但是我得到了下面的错误。
Inner Exception 1:
FormatException: '9a1c458c-82Dd-43b4-a963-76a96d374580' is not a valid 24 digit hex string.
以下是我获取所有 id 的查询
var thingsDoc = demoThings.AsQueryable().Where(a => a._id != null).ToList();
以下是我的事物属性类
public class Things
{
[BsonRepresentation(BsonType.ObjectId)]
public ObjectId _id { get; set; }
}
我认为问题在于如何定义属性。还是我的查询有问题?从研究中我知道它抱怨的原因是因为格式中的破折号。但没有找到任何解决方法来解决这个问题。非常感谢您的帮助。
解决方案
我已经能够解决我的问题。似乎使用模型并在 ObjectId 和 String 之间进行转换使我的程序无法运行。所以下面的方法解决了这个问题。
var demoThings = DBConnect.CosmosClient.GetCollection<BsonDocument>("Things");
foreach(var doc in demoThings.Find(x => x["_id"] != "").ToList())
{
thingList.Add(doc["_id"].ToString());
}
我的目标是获取集合并添加所有 _id 并将它们添加到列表中,以便我可以模拟 json 文件中的数据并将 id 附加到 JSON。有了上面的内容,我能够将 id 和它们抓取到一个列表中。
推荐阅读
- c# - 如何简化过滤后的 iqueryable date linq 表达式?
- python - Python 带走时间
- laravel - Laravel 干预:无法从给定的二进制数据初始化
- json - 为什么 jsonDecode 返回一个不可转换为 Map 的值
>? - php - 使用多个输入字段上传多个文件
- microsoft-graph-api - 获取邮件文件夹的最新 delta 令牌
- php - WooCommerce 买一送一 50% 折扣,不包括产品变化
- java - 如何处理 JAXRS-2 中的格式查询参数?
- ehcache - 我可以将我的 ehcache3.xml 文件存储在外部文件中吗
- mysql - 在 select 语句中无法识别标量子查询的别名