我有像这样的猫鼬模式:
var question = new Schema({
title : String,
gambar : String
});
var polling = new Schema({
id_poll : String,
soal : [question]
});
我希望使用像这样的findOneAndRemove方法删除其数组索引所有的subocs,
polling.findOneAndRemove({_id:req.params.poll_id, soal[req.params.soal]._id: req.params.id_soal}, function(err){
if(err) throw err;
console.log("soal deleted");
});
但它会抛出这样的错误:
polling.findOneAndRemove({_id:req.params.poll_id, soal[req.params.soal]._id:
^
SyntaxError: Unexpected token [
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:935:3
所以如何在不知道其索引的情况下删除子网站,我已谷歌它并找到使用运算符$pull
但我仍然不明白如何将其应用于我的代码。需要建议和帮助。非常感谢你
答案 0 :(得分:0)
根据您提供的详细信息,我们有两种可能的方法来删除soal
字段:
将soal
数组设置为[]
polling.update({_id: req.params.poll_id }, { $set: { soal: [] }}, function(err, response) {
if (err) {
console.log('There was an error with your request');
}
console.log('Mongo update from running the update query', response);
}));
数组
soal
从您检索的文档中永久删除polling.update({_id: req.params.poll_id }, { $unset: { soal: "" }}, function(err, response) {
if (err) {
console.log('There was an error with your request');
}
console.log('Mongo update from running the update query', response);
}));
属性
createItem.php