#node.js #mongodb #mongoose
#node.js #mongodb #mongoose
Вопрос:
Я новичок в mongodb и mongoose, и я хотел знать, возможно ли, чтобы схема хранила массив, содержащий модель вместе с номером.
У меня есть модель элемента следующим образом:
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var item = new Schema({
name: {type: String, required: true},
price: {type: Number, required: true},
date: {type: Date, default: Date.now},
})
module.exports = mongoose.model('Item', item)
И у меня есть модель учетной записи:
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var ObjectId = mongoose.Schema.Types.ObjectId
var account = new Schema({
name: {type: String, required: true},
id: {type: Number, required: true},
ph_no: String,
items: [[{type: ObjectId, ref: 'Item'}, {type: Number, default: 1}]]
})
module.exports = mongoose.model('Account', account)
В модели учетной записи я хочу, чтобы параметр «items» сохранял массив модели товара и число, которое относится к количеству товара.
Пожалуйста, дайте мне знать, возможно ли это или это даже идеальная модель, и должен ли я ее изменить или нет.
Спасибо.
Ответ №1:
Да, просто укажите тип элемента в схеме accout для модели элементов
var itemModel = require(<your_item_model>)
var account = new Schema({
name: {type: String, required: true},
id: {type: Number, required: true},
ph_no: String,
items: [itemModel]
})