📜  如何使用 mongoose 创建 id - Javascript (1)

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

如何使用 mongoose 创建 id

在 MongoDB 中,每个文档都有一个唯一的 _id 属性,用于表示该文档在集合中的唯一标识。在 Node.js 中,我们可以使用 Mongoose 来操作 MongoDB 数据库,本文将介绍如何在 Mongoose 中创建一个新的 _id

方式一:使用 mongoose.Types.ObjectId

在 Mongoose 中,我们可以使用 mongoose.Types.ObjectId() 方法来创建一个新的 ObjectId。

const mongoose = require('mongoose');

const id = mongoose.Types.ObjectId();
console.log(id);  // 6165b5f26e8dd8493b3f347d

在上面的代码中,我们引入了 Mongoose 模块,并使用 mongoose.Types.ObjectId() 方法创建了一个新的 ObjectId。然后,我们打印了这个新的 ObjectId。

方式二:使用 Schema 中的默认 _id

在 Mongoose 中,每个 Schema 都有一个默认的 _id 字段,用于表示该文档在集合中的唯一标识。我们可以在定义 Schema 时设置 _id: false 来关闭默认的 _id 字段,也可以使用其他字段名作为唯一标识。

const mongoose = require('mongoose');

const userSchema = new mongoose.Schema({
  username: String,
  email: String,
  uuid: { type: String, unique: true },
}, { _id: false });
const User = mongoose.model('User', userSchema);

const user = new User({
  username: 'Alice',
  email: 'alice@example.com',
  uuid: '12345',
});
user.save(function(err) {
  console.log(user.uuid);  // 12345
});

在上面的代码中,我们定义了一个名为 userSchema 的 Schema,并设置了 _id: false,表示关闭默认的 _id 字段。然后,我们定义了一个名为 User 的 Model,将 userSchema 作为参数传入。接着,我们创建了一个 user 实例,并将其存入数据库中。注意,我们使用了名为 uuid 的字段作为唯一标识。最后,我们打印了 user.uuid,验证唯一标识是否成功保存。

以上就是如何使用 Mongoose 创建新的 _id 的方法。可以根据实际需求选择不同的方法。