【问题标题】:Auto Generated id using mongoDB使用 mongoDB 自动生成的 id
【发布时间】:2020-04-07 16:44:07
【问题描述】:

我正在使用 windows 窗体 c# 开发一个桌面应用程序,我在我的数据库中创建了一个名为 Id 的唯一索引。

但是现在我想要它,当我发送一个字段“Id”为空的类时,数据库会自己给它一个唯一的值。

很抱歉没有很好地说明问题,而且问题似乎很简单,但我不知道怎么做,因为我还是个初学者

提前致谢。

【问题讨论】:

  • 默认情况下,MongoDB 为 _id 字段生成唯一的 ObjectId。你可以使用它。其他情况需要generate manually

标签: c# mongodb mongodb-indexes


【解决方案1】:

无需自己创建唯一索引。 MongoDB 在创建集合期间在 _id 字段上创建唯一索引。

如果插入的文档省略了 _id 字段,MongoDB 驱动程序会自动为 _id 字段生成ObjectId。 ObjectId 本质上是一个时间戳加上随机值。

在您的模型中,您可以使用属性映射到 _id 字段

[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }

【讨论】:

  • 感谢您的回复,但这里的问题是它不是人类可读的,我想要一个可以在我显示收藏中的文档列表时显示在列表中的 ID。
  • 您可以手动设置_id,但没有开箱即用的自动增量功能。你可以这样做:tutorialspoint.com/mongodb/mongodb_autoincrement_sequence.htm
猜你喜欢
  • 2011-06-03
  • 2017-08-25
  • 1970-01-01
  • 2011-01-11
  • 2020-05-31
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
相关资源
最近更新 更多