c# - 将 Guid 列表存储在 MongoDb 中作为字符串列表

标签 c# mongodb

我想将 Guid 列表存储为 MongoDB 中的字符串列表。对于单个 Guid,我使用以下属性:

[BsonRepresentation(BsonType.String)]
public Guid GuidId{ get; set; }

是否有一个属性可以执行相同的操作:

public List<Guid> GuidIdList { get; set; }

我发现了如何使用约定来做到这一点,但我真的很喜欢使用属性来做到这一点:

How can I tell the MongoDB C# driver to store all Guids in string format?

最佳答案

根据工作中某人的建议,我进行了一个小测试:

[BsonRepresentation(BsonType.String)]
public List<Guid> GuidIds { get; set; }

你猜怎么着,这有效了!这是您在 MongoDB 中看到的内容:

{
  "_id" : ObjectId("5450fa00f0640335e4117d46"),
  "GuidId" : "f9e22da8-97c5-4dc7-ab26-ce5e095427a4",
  "GuidIds" : ["48e1d0a9-74a6-4b51-af6b-b217012adeac", "5e1751b1-d945-4baa-beed-847e9696caa9"]
}

因此该属性正在作用于列表内的元素。我认为它会生成列表本身的字符串表示形式。


额外信息,不带属性

public List<Guid> GuidIds { get; set; }

你在 MongoDB 中得到了这个:

{
  "_id" : ObjectId("5450fc4bf0640327b82cb259"),
  "GuidId" : "e76f37a1-eba6-4afe-8ee4-8d431f97978c",
  "GuidIds" : [new BinData(3, "E4x6bMtj606H06snHwmVGw=="), new BinData(3, "uV9vktKLzkOF/ylcOckfYg==")]
}

关于c# - 将 Guid 列表存储在 MongoDb 中作为字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26629444/

相关文章:

mongodb - 在 heroku 上部署 Meteor 1.0 应用程序后出现应用程序错误

javascript - 在保存之前清理用户输入或从数据库检索后清理输入?

c# - Encoding.UTF8.GetBytes() 是否创建 BOM?

c# - 异步Socket.Begin接收内部调用之谜

c# - 如何在 C# 中使用 WSDL 文件使用 WebService

mongodb - Mongo Docker 未创建用户

mongodb - 来自Dockerfile RUN步骤的数据不在镜像中

c# - TextReader.Peek 行为和检测流/阅读器的结尾

c# - 从未知位置读取文件?

javascript - 无法在 mongoose 中存储 json 对象