Mongoose 模式IDs
Mongoose 是一个用于node.js环境的MongoDB对象建模和处理工具。 Mongoose 在创建文档时自动添加一个类型为 ObjectId 的 _id 属性。这也可以用自定义ID覆盖,但请注意,没有ID,Mongoose不允许我们保存或创建新文档。
创建node应用程序并安装Mongoose:
步骤1: 使用以下命令创建一个node应用程序:
mkdir folder_name
cd folder_name
npm init -y
步骤2: 在创建ReactJS应用程序后,使用以下命令安装所需的模块:
npm install mongoose
项目结构: 它将如下所示。
示例1 : 在这个示例中,我们将创建一些文档并将它们的 _id 属性(该属性由mongoose自动设置)记录到控制台。
文件名:main.js
const mongoose = require('mongoose')
// Database connection
mongoose.connect('mongodb://localhost:27017/query-helpers', {
dbName: 'event_db',
useNewUrlParser: true,
useUnifiedTopology: true
}, err => err ? console.log(err) :
console.log('Connected to database'));
const animalSchema = new mongoose.Schema({
name: String, type: String });
const Animal = mongoose.model("Animal", animalSchema);
const animals = [
{
name: 'bond',
type: 'dog'
},
{
name: 'cavine',
type: 'cat'
}
]
Animal.insertMany(animals, (err, res) => {
res.forEach(animal => {
console.log(animal._id)
})
})
运行应用程序的步骤: 在项目的根目录中使用以下命令运行应用程序:
node main.js
输出:
示例2 :在这个示例中,我们将在创建新文档时创建一个自定义 _id ,并且将其记录到控制台上。
文件名:main.js
const mongoose = require('mongoose')
// Database connection
mongoose.connect('mongodb://localhost:27017/query-helpers', {
dbName: 'event_db',
useNewUrlParser: true,
useUnifiedTopology: true
}, err => err ? console.log(err) : console.log(
'Connected to database'));
const schema = new mongoose.Schema({ _id: Number });
const Model = mongoose.model('Test', schema);
const doc = new Model();
doc._id = 1;
doc.save().then((res) => {
console.log(res);
});
运行应用程序的步骤 :在项目的根目录下使用以下命令运行应用程序:
node main.js
输出:
参考资料 : https://mongoosejs.com/docs/guide.html#_id