, когда я пытаюсь обновить его дозу не откидывать какую-либо ошибку она идет нормально, но когда я не проверить мой datebase ничего я их обновленное ничего не модифицируется Просьба помочьКак обновить массив в MongoDB используя мангуст
this is my db
{
"_id" : ObjectId("56651f0e4905bd041cad0413"),
"creator" : ObjectId("566299dd17990464160ae27a"),
"content" : "this is my joke 2",
"created" : ISODate("2015-12-07T05:54:22.858Z"),
"__v" : 15,
"comments" : [
{
"posteruserId" : "5665e6867185d87c1e71dbdc",
"postedBy" : "lawrence nwoko",
"postterscomment" : "good joke",
"_id" : ObjectId("56660745f644c2501116acce")
},
{
"posteruserId" : "5665e6867185d87c1e71dbdc",
"postedBy" : "lawrence nwoko",
"postterscomment" : "good joke",
"_id" : ObjectId("56660b6d33c245c012104fdc")
}
]
}
это моя схема
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var JokesSchema = new Schema({
creator: {type: Schema.Types.ObjectId, ref: 'User'},
content: String,
created:{type:Date, default: Date.now},
comments: [{
text: String,
postedBy: String,
posteruserId :String,
date: String,
postterscomment:String
}]
})
module.exports = mongoose.model('Jokes_db', JokesSchema)
здесь я мой пост Funtion api.post ('/ обновление', функция (Req, Рез) {
// Joke.findById("56651f0e4905bd041cad0413", function (err, meeting) {
Joke.update({_id: "5665e6867185d87c1e71dbdc", 'comments._id' : "56660745f644c2501116acce"},
{'$set': {
'comments.$.postterscomment': "working"
}},
function(err, numAffected) {
if(err){
console.log(err)
}else{
res.json(numAffected)
}
}
);
});
Вы уверены, что ваша схема верная здесь? если нет, то опубликуйте определенную схему. В основном отметим, что '_id', используемый для основного документа в' .update() ', не совпадает с приведенным здесь документом. Поэтому, если это документ, который вы ожидаете обновить, значение '_id' неверно. Таким образом, '5667e6867185d87c1e71dbdc" 'является значением' comments.postuserId', а не '56671f0e4905bd041cad0413" ', которое фактически является полем' _id' документа. –
Я только что добавил свою схему мангуста, пожалуйста, взгляните на нее –
Но обращаете ли вы внимание на неправильное значение '_id, которое используется, как упоминалось? Казалось бы, это проблема. –