是否可以在MongoDB中配置ObjectId默认字段的名称?

时间:2012-02-10 18:19:18

标签: mongodb pymongo

是否可以将ObjectId字段名称从“_id”更改为“id”或其他内容?

我一直在查看文档,到目前为止还没有找到任何与此有关的内容。 我在服务器上使用带有pymongo(python驱动程序)的MongoDB,在那里我将提供JSON对象,而我在客户端使用的js库需要具有“id”字段的对象。

2 个答案:

答案 0 :(得分:3)

我不这么认为。为每个创建的文档自动创建_id字段。如果你想使用像整数值这样的东西,你可以创建一个不同的id字段。

答案 1 :(得分:3)

数据库总是期望或添加“_id”字段,但在某些情况下,您实际上可以从客户端屏蔽它。

查看references SON上的manipulators。您可以在插入文档时对其进行转换,然后将其解压缩以动态更改“_id”字段,使其显示为“id”字段。但是,请注意,这只会转换文档 - 而不是查询:findOne({“id”:“1234567890”})将找不到任何内容,因为数据库中并不存在“id”字段。 / p>

您必须自己决定这是否适合您的用例。