gpt4 book ai didi

node.js - Mongoose - 更新文档,添加新键(具有严格的 :false)

转载 作者:可可西里 更新时间:2023-11-01 10:24:15 25 4
gpt4 key购买 nike

我有以下 Mongoose 模型:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var companySchema = new mongoose.Schema({
name: String,
long_name: String,
address: String,
telephone: String,
mobile_phone: String,
fax: String,
email: String,
url: String,
config:{
language: String,
account: String
},
items:[{
name: String,
internal_id: String,
reference_code: String,
description: String
}]
},{ timestamps: true, strict: false });

var Company = mongoose.model('Company', companySchema);

module.exports = Company;

好的,这个想法是让每个用户在项目数组中插入他们自己的字段。例如,用户将使用几个新的键/值对创建一个新项目。我会将新项目存储在项目数组中:

var Company = require('mongoose').model('Company');

exports.createItem = function(req, res, next) {

var newitem = {
"name": "Syringe Needels",
"internal_id": "ID00051",
"reference_code": "9506",
"description": "My description",
"batch": "100",
"room": "240",
"barcode": "9201548121136"
};


Company.findById(req.company, function(error, company) {
company.items.push(newitem);
company.save(function(err, doc){
return res.status(200).send('The new item has been stored!');
});

});
};

模式中未定义的键不是存储;仅存储名称、internal_id、reference_code 和描述。

我怎样才能实现它?

最佳答案

您可以创建一个数据类型为混合对象的子文档。这将允许您动态插入/更新 key

var companySchema = new mongoose.Schema ({
name: String,
long_name: String,
address: String,
telephone: String,
mobile_phone: String,
otherProps : {}
})

这个(otherProps 键)将完成任务

关于node.js - Mongoose - 更新文档,添加新键(具有严格的 :false),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35561512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com