Mongoose .findByIdAndUpdate not updating record
up vote
1
down vote
favorite
I have an express route using mongoose. This .findByIdAndUpdate isn't working. I see the "removeId" come in, the second console.log shows the correct record... but it didn't update! Am I doing something wrong here?
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
mongoose
add a comment |
up vote
1
down vote
favorite
I have an express route using mongoose. This .findByIdAndUpdate isn't working. I see the "removeId" come in, the second console.log shows the correct record... but it didn't update! Am I doing something wrong here?
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
mongoose
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have an express route using mongoose. This .findByIdAndUpdate isn't working. I see the "removeId" come in, the second console.log shows the correct record... but it didn't update! Am I doing something wrong here?
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
mongoose
I have an express route using mongoose. This .findByIdAndUpdate isn't working. I see the "removeId" come in, the second console.log shows the correct record... but it didn't update! Am I doing something wrong here?
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
mongoose
mongoose
asked Nov 17 at 19:52
J Seabolt
388219
388219
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
0
down vote
It's a strange default but findByIdAndUpdate doesn't return the updated record by default. You have to pass {new:true} to get it.
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId,{new: true}, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
add a comment |
up vote
0
down vote
Mongodb findOneAndUpdate method has an option called returnNewDocument which as per the documentation:
Optional. When true, returns the updated document instead of the
original document. Defaults to false.
Mongoose wraps that method but it calls its pass through option new as per its code/documentation:
outer.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
return Article.findByIdAndUpdate(removeId, {featured: false}, {new: true})
.then(updatedArticle =>
console.log('updated article', updatedArticle)
)
})
Also do not forget the return your Article.findByIdAndUpdate in your post method.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
It's a strange default but findByIdAndUpdate doesn't return the updated record by default. You have to pass {new:true} to get it.
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId,{new: true}, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
add a comment |
up vote
0
down vote
It's a strange default but findByIdAndUpdate doesn't return the updated record by default. You have to pass {new:true} to get it.
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId,{new: true}, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
add a comment |
up vote
0
down vote
up vote
0
down vote
It's a strange default but findByIdAndUpdate doesn't return the updated record by default. You have to pass {new:true} to get it.
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId,{new: true}, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
It's a strange default but findByIdAndUpdate doesn't return the updated record by default. You have to pass {new:true} to get it.
router.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
Article
.findByIdAndUpdate(removeId,{new: true}, {
featured: false
})
.then(updatedArticle => {
console.log('updated article', updatedArticle)
answered Nov 17 at 19:57
mr.freeze
7,19542433
7,19542433
add a comment |
add a comment |
up vote
0
down vote
Mongodb findOneAndUpdate method has an option called returnNewDocument which as per the documentation:
Optional. When true, returns the updated document instead of the
original document. Defaults to false.
Mongoose wraps that method but it calls its pass through option new as per its code/documentation:
outer.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
return Article.findByIdAndUpdate(removeId, {featured: false}, {new: true})
.then(updatedArticle =>
console.log('updated article', updatedArticle)
)
})
Also do not forget the return your Article.findByIdAndUpdate in your post method.
add a comment |
up vote
0
down vote
Mongodb findOneAndUpdate method has an option called returnNewDocument which as per the documentation:
Optional. When true, returns the updated document instead of the
original document. Defaults to false.
Mongoose wraps that method but it calls its pass through option new as per its code/documentation:
outer.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
return Article.findByIdAndUpdate(removeId, {featured: false}, {new: true})
.then(updatedArticle =>
console.log('updated article', updatedArticle)
)
})
Also do not forget the return your Article.findByIdAndUpdate in your post method.
add a comment |
up vote
0
down vote
up vote
0
down vote
Mongodb findOneAndUpdate method has an option called returnNewDocument which as per the documentation:
Optional. When true, returns the updated document instead of the
original document. Defaults to false.
Mongoose wraps that method but it calls its pass through option new as per its code/documentation:
outer.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
return Article.findByIdAndUpdate(removeId, {featured: false}, {new: true})
.then(updatedArticle =>
console.log('updated article', updatedArticle)
)
})
Also do not forget the return your Article.findByIdAndUpdate in your post method.
Mongodb findOneAndUpdate method has an option called returnNewDocument which as per the documentation:
Optional. When true, returns the updated document instead of the
original document. Defaults to false.
Mongoose wraps that method but it calls its pass through option new as per its code/documentation:
outer.post('/highlight', jsonParser, (req, res) => {
const { removeId, addId } = req.body;
console.log('removeId', removeId)
return Article.findByIdAndUpdate(removeId, {featured: false}, {new: true})
.then(updatedArticle =>
console.log('updated article', updatedArticle)
)
})
Also do not forget the return your Article.findByIdAndUpdate in your post method.
answered Nov 18 at 20:33
Akrion
7,06611222
7,06611222
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53354969%2fmongoose-findbyidandupdate-not-updating-record%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown