📜  _id 到 id (1)

📅  最后修改于: 2023-12-03 15:29:16.434000             🧑  作者: Mango

从 '_id' 到 'id'

在许多数据库中, '_id' 常常用作默认主键名称。但是,在许多编程语言和框架中, 'id' 被用作主键名称。

在此介绍如何在不影响数据库中的 '_id' 字段的情况下,将其转换为常见的 'id' 字段。

1. MongoDB

MongoDB 是使用 '_id' 字段作为默认主键的流行文档数据库。但是,可以通过以下方式将其转换为 'id' 字段:

db.collection.find({}, {_id: 0, id: '$_id'})

这将返回一个新结果集,其中包括原始 '_id' 字段的值在新的 'id' 字段中。

2. Mongoose

Mongoose 是 Node.js 中流行的 MongoDB ORM 框架。要使用 'id' 字段作为主键,可以使用以下代码:

const schema = new mongoose.Schema(
  { /* schema definition */ },
  { id: true }
);

在这个 schema 中,Mongoose 会自动创建一个名为 'id' 的虚拟属性,并将其映射到 '_id' 字段。

3. Rails

Rails 是流行的 Ruby web 框架,使用 Active Record ORM 与数据库交互。要使用 'id' 字段作为主键,可以使用以下代码:

class MyModel < ApplicationRecord
  self.primary_key = :id
end

这将把 'id' 字段用作主键。

结论

尽管在许多数据库中使用 '_id' 字段作为默认主键,但是我们可以使用各种框架和技术来将其转换为 'id' 字段。这个转换可以帮助开发人员更好地进行编程,并提高代码的可读性。