0

我的 MongoDB 集合有文档,每个文档都可以包含一组子文档。每个子文档都需要一种方法来唯一标识它,以便我可以在以后替换它或更新它。

如何告诉 MongoDB 为集合中的每个子文档生成唯一值?

我正在使用 C# MongoDB 驱动程序。

{
    _id: 'gd37dg67dg63782gd78',
    name: 'foo'
    docs: [
        {
            idvalue: 'autogenerated',
            y: 10
        },
        {
            idvalue: 'autogenerated',
            y: 10
        },
        {
            idvalue: 'autogenerated',
            y: 10
        },
    ]
}
4

1 回答 1

3

MongoDB 本身不会为您执行此操作,但您可以执行许多文档映射器为子文档所做的事情,并ObjectId在保存它们之前为其分配值。这将为 C# 驱动程序中的每个字段提供一个新的且足够独特的值:

ObjectId.GenerateNewId()

如果您使用的是文档映射器,请查看它对“嵌套文档”的支持程度。很有可能它会毫不费力地为您做到这一点。

于 2012-07-18T05:58:04.580 回答