사용자 개체 내의 컬렉션에 항목을 추가하기 위해 POST 요청을 사용하려고합니다.
User.findOneAndUpdate(
{"_id": req.body.userid},
{$push: {'shopping_list': req.body.itemid}},
{safe: true, upsert: true},
function(err, Model){
console.log(err, Model);
if(err){
handleError(res, err);
}
return res.status(201).json(Model);
}
);
다음과 같은 오류가 계속 발생합니다.
{ "name": "MongoError", "message": "예외 : '$ push'가 비어 있습니다. 다음과 같이 필드를 지정해야합니다. {$ push : {: ...}}", "value": { " _id ":"5546cc0483b0186428e252cc ","email ":"[email protected] ","passwordHash ":"Q + VpK9L + I / DhAm7w01AArMacBkXEdyHp3zGF6JyJVzDhwgHpws4z8IBxHux2AEQiz = ", BiX6Hauv"6AEQiz = ", BiX6Hauv"7xrRX6B : 5000, "shopping_list": [], "cupboard": [], "meals": [], "__ v": 0}, "errmsg": "예외 : '$ push'가 비어 있습니다. 필드를 지정해야합니다. 다음과 같이 : {$ push : {: ...}} ","code ": 9,"ok ": 0}
'shopping_list'필드가 명확하게 보이고 값이 전달 되었기 때문에 왜 그런 일이 발생하는지 알 수 없습니다.
아무도 내가 뭘 잘못하고 있는지 알아 ??
기본적으로 Mongoose는 모델의 스키마에 표시되지 않는 필드를 업데이트하지 않습니다.
따라서 shopping_list
스키마에 추가 하거나 스키마의 strict
옵션을 false
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다