在MongoDB中,子文档是嵌入在另一个文档中的文档。在Mongoose(一个MongoDB对象建模工具)中,可以通过定义Schema和使用嵌套的Schema来创建子文档。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// 定义子文档的Schema
const subDocumentSchema = new Schema({
field1: String,
field2: Number,
// 可以添加更多的字段
});
subDocumentSchema
。// 定义父文档的Schema,包含子文档
const parentDocumentSchema = new Schema({
name: String,
age: Number,
subDocuments: [subDocumentSchema] // 使用数组来表示可以有多个子文档
});
// 创建父文档的模型
const ParentDocument = mongoose.model('ParentDocument', parentDocumentSchema);
// 创建一个新的父文档实例
const newParentDocument = new ParentDocument({
name: '张三',
age: 30,
subDocuments: [
{ field1: '子文档1', field2: 123 },
{ field1: '子文档2', field2: 456 }
]
});
// 保存父文档
newParentDocument.save((err, savedDocument) => {
if (err) return console.error(err);
console.log('父文档已保存:', savedDocument);
});
子文档非常适合表示一对多的关系,例如:
通过以上步骤,你可以在Mongoose中成功创建和管理子文档。记得在实际应用中根据具体需求调整Schema设计。
领取专属 10元无门槛券
手把手带您无忧上云