Mongoose findOneandUpdate不保存。我认为是因为我删除了一个对象

时间:2014-11-25 01:32:03

标签: mongodb mongoose

我从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);
                    });


                }
            };

        });

    };

0 个答案:

没有答案