我的MongoDB集合中有一些文档,每个文档可以包含一个子文档数组。每个子文档都需要一种方法来唯一地标识它,以便我可以在以后替换或更新它。
如何告诉MongoDB为集合中的每个子文档生成一个惟一的值?
我正在使用C# MongoDB驱动程序。
{
_id: 'gd37dg67dg63782gd78',
name: 'foo'
docs: [
{
idvalue: 'autogenerated',
y: 10
},
{
idvalue: 'autogenerated',
y: 10
},
{
idvalue: 'autogenerated',
y: 10
},
]
}发布于 2012-07-18 13:58:05
MongoDB本身不会为您做到这一点,但是您可以像许多文档映射器一样对子文档执行操作,并在保存它们之前为它们分配ObjectId值。这将为C#驱动程序中的每个字段获取一个新的、足够唯一的值:
ObjectId.GenerateNewId()如果您使用的是文档映射器,请查看它对“嵌套文档”的支持程度。这是一个很好的机会,它会为你做这件事,只需要很少的努力。
https://stackoverflow.com/questions/11534952
复制相似问题