这是我的架构
var purchaseOrderModel = function () {
var itemSchema = mongoose.Schema({
strBarCode: {type: String },
strItemName: {type: String },
strQuantity: {type: String }
});
var purchaseOrderSchema = mongoose.Schema({
strSupplierID: {type: String, required: true },
strInvoiceNo: {type: String,required: true },
dteInvoiceDate: {type: Date, required: true },
items: [itemSchema],
created_by: { type: mongoose.Schema.Types.ObjectId, ref: 'user' }
});
return mongoose.model('purchaseorder', purchaseOrderSchema);
};
PurchaseOrder.find({items._id:req.params.itemid}, function (err, items) {
return items.remove(function (err) {
});
});
如何删除purchaseOrderSchema中与id相关的项目。 使用itemSchema存储项目。
答案 0 :(得分:2)
您可以使用 $pull
更新运算符从数组中删除项目,如下所示:
PurchaseOrder.update(
{ "items._id": req.params.itemid },
{
"$pull": {
"items": {"_id": req.params.itemid}
}
},
function (err, doc) {
if(err) { /* handle err */}
console.log(doc);
}
);