【发布时间】:2012-02-10 18:19:18
【问题描述】:
是否可以将 ObjectId 字段名称从“_id”更改为“id”或其他?
我一直在查看文档,到目前为止还没有发现任何与此相关的内容。 我在服务器上使用 MongoDB 和 pymongo(python 驱动程序),我将在其中提供 JSON 对象,而我在客户端上使用的 js 库需要带有“id”字段的对象。
【问题讨论】:
是否可以将 ObjectId 字段名称从“_id”更改为“id”或其他?
我一直在查看文档,到目前为止还没有发现任何与此相关的内容。 我在服务器上使用 MongoDB 和 pymongo(python 驱动程序),我将在其中提供 JSON 对象,而我在客户端上使用的 js 库需要带有“id”字段的对象。
【问题讨论】:
数据库总是期望或添加一个“_id”字段,但在某些情况下,您实际上可以从客户端屏蔽它。
在SONmanipulators 上查看references。您可以在插入和提取文档时对其进行转换,以动态更改“_id”字段,使其看起来好像是“id”字段。但是请注意,这只会转换文档 - 而不是查询: findOne({"id": "1234567890"}) 不会找到任何东西,因为“id”字段实际上并不存在于数据库中。
您必须自己决定这是否适合您的用例。
【讨论】:
我不这么认为。 _id 字段是为每个创建的文档自动创建的。如果您想使用其他值(例如整数值),可以创建一个不同的 id 字段。
【讨论】: