我已经检查以下计算器问题:如何使用Mongoose删除JSON对象中的数组元素?
这里是我的尝试:
var User = require('../model/user_model.js');
router.put('/favoritemovies/:id', function(req, res){
console.log(req.params.id);
console.log(req.body.email);//I am able to console.log both value
User.update({_id: req.body.email}, { $pullAll: { favoriteMovies: {id:req.params.id} } } },
});
我的用户模型:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.ObjectId;
var userSchema = new Schema ({
id: ObjectId,
name: String,
password: String,
email: {type: String, unique: true},
favoriteMovies: []
});
module.exports = mongoose.model('users', userSchema);
这是我的JSON对象的结构:
{
"_id": {
"$oid": "583893712f599701531b60bf"
},
"name": "",
"password": "",
"email": "",
"favoriteMovies": [
{
"vote_average": ,
"video": ,
"vote_count": ,
"popularity": ,
"backdrop_path": "",
"title": "",
"original_language": "",
"original_title": "",
"id": ,
"genre_ids": [],
"release_date": "",
"overview": "",
"adult": ,
"poster_path": "",
"_id": ""
}
我想删除从favoriteMovies阵列的一个或多个元素,如果其ID我的ID相符。我没有收到任何错误消息,但该元素也不会被删除。
什么是适当的要求,以实现这一目标?
感谢您的答复。不幸的是,它仍然不起作用。我已经检查过所有属性,它应该可以工作,但它不会。 – GaborH