📅  最后修改于: 2023-12-03 15:23:56.407000             🧑  作者: Mango
在 MongoDB 中,每个文档都有一个唯一的 _id
属性,用于表示该文档在集合中的唯一标识。在 Node.js 中,我们可以使用 Mongoose 来操作 MongoDB 数据库,本文将介绍如何在 Mongoose 中创建一个新的 _id
。
在 Mongoose 中,我们可以使用 mongoose.Types.ObjectId()
方法来创建一个新的 ObjectId。
const mongoose = require('mongoose');
const id = mongoose.Types.ObjectId();
console.log(id); // 6165b5f26e8dd8493b3f347d
在上面的代码中,我们引入了 Mongoose 模块,并使用 mongoose.Types.ObjectId()
方法创建了一个新的 ObjectId。然后,我们打印了这个新的 ObjectId。
在 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
的方法。可以根据实际需求选择不同的方法。