Это структура моих данных, которые я сохраняю с помощью mongoose, я хочу сохранить только одну информацию.Который находится в поле продуктов.
когда я сохраняю со ссылкой на основной _id, он отображает все продукты, которые являются 2 объектами.
[
{
"_id": "5cf22b99f319fd34dce2fa80",
"installrefno": "install Ref no 111",
"installdate": "2019-06-01T00:00:00.000Z",
"serialno": {
"_id": "5cf10fcc4cb6352abcfe094a",
"refno1": "test2",
"refno2": "testRef2",
"date": "2019-05-02T00:00:00.000Z",
"products": [
{
"warrantyfrom": "2019-05-19T00:00:00.000Z",
"warrantyto": "2019-05-14T00:00:00.000Z",
"oemwarrantyfrom": "2019-05-24T00:00:00.000Z",
"oemwarrantyto": "2019-05-25T00:00:00.000Z",
"_id": "5cf10fea4cb6352abcfe094b",
"oem": "5cb6e026042460131454cf45",
"category": "5c960902e5cf3429e06beb6c",
"subcategory": "5ca35fbed6e1430df88954a6",
"modelno": "A123888",
"serialno": "A345"
},
{
"warrantyfrom": "2019-05-19T00:00:00.000Z",
"warrantyto": "2019-05-14T00:00:00.000Z",
"oemwarrantyfrom": "2019-05-24T00:00:00.000Z",
"oemwarrantyto": "2019-05-25T00:00:00.000Z",
"_id": "5cf10ffb4cb6352abcfe094c",
"oem": "5c986a1e9b6bc614b8a551b9",
"category": "5c960902e5cf3429e06beb6c",
"subcategory": "5ca35fbed6e1430df88954a6",
"modelno": "QW123",
"serialno": "B345"
}
],
"__v": 2
},
"contactperson": "raghav",
"contactno": 345345,
"address": "sdfasdf",
"remarks": "adsfasdf",
"installdoc": "client\\public\\install\\docs\\installdoc-
1559374745886.txt",
"__v": 0
},
]
Это схема, у меня естьссылается на serialno из другого документа, который является proreg
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const InstallationSchema = new Schema({
installrefno: { type: String },
installdate: { type: Date },
serialno: {
type: mongoose.Schema.Types.ObjectId,
ref: "proreg"
},
installedby: {
type: mongoose.Schema.Types.ObjectId,
ref: "employees"
},
customer: {
type: mongoose.Schema.Types.ObjectId,
ref: "customer"
},
customertype: {
type: mongoose.Schema.Types.ObjectId,
ref: "customertype"
},
department: {
type: mongoose.Schema.Types.ObjectId,
ref: "customersubdepartment"
},
contactperson: { type: String },
contactno: { type: Number },
address: { type: String },
remarks: { type: String },
filename: {type: String},
installdoc: { type: String}
});
module.exports = InstallationDetails = mongoose.model(
"installation",
InstallationSchema
);
Это мой маршрут добавления, я получаю оба продукта в поле serialno, когда я добавляю данные.
router.post("/add", upload.single("installdoc"), (req, res, next) => {
console.log(req.file);
const newInstallationDetails = new InstallationDetails({
installrefno: req.body.installrefno,
installdate: req.body.installdate,
serialno: req.body.productregistrationid,
installedby: req.body.employeesid,
customer: req.body.customerid,
customertype: req.body.customertypeid,
department: req.body.customersubdepartmentid,
contactperson: req.body.contactperson,
contactno: req.body.contactno,
address: req.body.address,
remarks: req.body.remarks,
installdoc: req.file.path
});
newInstallationDetails.save().then(installation => res.json(installation));
});
Как получить только один товар при сохранении данных.Есть ли способ сохранить два ссылочных идентификатора, которые являются основным ссылочным идентификатором и идентификатором продуктов.где идентификатор продукта является поддокументом серийно, который является ссылкой на proreg.