[英]How to insert a number of dynamic fields into a mongoDB array?
我的頁面中有以下代碼。 每當我單擊“添加新字段按鈕”時,就會向頁面添加新字段。 我需要完成的是將每個新字段插入到mongodb數據庫數組中。
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('div');
newdiv.className = "row-inputs";
newdiv.innerHTML = '<input type="text" name="productName" placeholder="product name" class="q-product-name">' +
'<input type="number" name="quantity" placeholder="1" class="q-quantity" value=1>' +
'<input type="text" name="pricePerUnit" placeholder="price" class="q-price">' +
'<input type="text" name="itemTotal" placeholder="price" class="q-total">';
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
以上是我的架構:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
var InventorySchema = Schema({
created_at: {type: Date, default: Date.now },
name: String,
list: [{
product_name: String,
quantity: Number,
pricePerUnit: Number,
itemTotal: Number
}],
invoiceTotal: Number,
comment: String,
dueDate: Date
})
var inventory = mongoose.model('inventory', InventorySchema);
module.exports = inventory;
如何告訴貓鼬將動態創建的每個字段添加到數據庫中?
非常感謝!
如果您定義了帶有已定義類型的靜態架構,則無法插入新字段。
但是,您可以指定屬性的類型({}),它將允許將任何內容保存到該屬性。 如果要使對象或整個模式中的一個動態,則可以定義如下模式:
var InventorySchema = Schema({
created_at: {type: Date, default: Date.now },
name: String,
list: [{ }],
invoiceTotal: Number,
comment: String,
dueDate: Date
})
警告:您將無法驗證或鍵入任何動態變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.