我跟随MongoDB使用Node.js项目(使用Mongoose),我希望我的MongoDB document
具有非常复杂的模式,
我的实现(和架构)看起来像:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const carSchema = new Schema({
brand: String,
year: Number,
nickname: String
});
const bookSchema = new Schema({
title: String,
published: Number,
author: String
});
const memberSchema = new Schema({
username: String,
cars: [ carSchema ],
books: [ bookSchema ]
});
const Member = mongoose.model('member', memberSchema);
// Notice: Here we just create new document without providing any cars or books
const newMember = new Member({
username: 'jonsnow',
});
await newMember.save();
我想要实现的是我想在不同时间保存document
的不同部分。
在上面的代码段中,我只是将一个新文档保存到只包含username
,没有cars
或books
已保存或提供的MongoDB,因为我想这样做后面。
我的问题是如何在以后使用car
和book
保存member
对象或carSchema
对象{/ 1}}。
或者,换句话说,假设我有以下对象
bookSchema
如何将此对象放入包含const carOne = {
brand: 'Audi',
year: '2018',
nickname: 'The Slowest'
}
的{{1}}内,并将其放在document
的{{1}}字段/属性中?