我从Company.store中删除了其中一个商店。一切正常,res.jsonp(updatedCompany);正在返回正确的文件。在响应中,商店已被删除。但后来我重新加载页面,我试图删除的商店仍在那里。这是因为findOneandUpdate在更新时没有删除任何内容吗?
Company.findOneAndUpdate({
_id: req.body._id
}, {
store: req.body.store
}, function (err, updatedCompany) {
res.jsonp(updatedCompany);
});
它没有意义,因为updatedCompany正是我想要的文档,但它没有保存文档......只是发送我想要的响应而不是更新文档。
更新:我的保存也不适用于多家商店。如果我创建一个新用户并添加一个商店,那就可以了。如果我尝试添加第二家商店,它就无法运作。
这是商店用户模型中的对象:
store: [{
type: Schema.Types.ObjectId, ref: 'Store'
}],
这是删除商店的控制器:
$scope.delStore = function () {
Companies.get({
companyId: $scope.global.user.company
}, function (company2) {
var newCompany = new Companies(company2);
console.log($scope.radio.delStore.name);
for (var i in $scope.something111.company2.store) {
if (newCompany.store[i].name === $scope.radio.delStore.name) {
newCompany.store.splice(i, 1);
newCompany.$update(function (response) {
console.log(response);
});
}
};
});
};