Node.js 如何从一个对象';s数组到另一个对象';在mongoose中使用nodejs的同一集合中的数组?
所以在这里,我试图通过将数组作为元素推入另一个对象的addtak来实现这一点。但它的给定错误为空。为什么?在这里,元素id在forEach循环内的if条件中成功匹配。但当pushine元素添加任务时,它将进入else条件并在控制台中打印error=null 猫鼬/特快专递代码:Node.js 如何从一个对象';s数组到另一个对象';在mongoose中使用nodejs的同一集合中的数组?,node.js,arrays,mongodb,mongoose,push,Node.js,Arrays,Mongodb,Mongoose,Push,所以在这里,我试图通过将数组作为元素推入另一个对象的addtak来实现这一点。但它的给定错误为空。为什么?在这里,元素id在forEach循环内的if条件中成功匹配。但当pushine元素添加任务时,它将进入else条件并在控制台中打印error=null 猫鼬/特快专递代码: router.route('/addTasks-writers').get(function(req, res) { User.findOne({email:req.user.email},function (er
router.route('/addTasks-writers').get(function(req, res) {
User.findOne({email:req.user.email},function (error, data) {
if(data)
{
data.Addtasks.forEach(element => {
if(element.id == req.query.id)
{
console.log("id matched for the Addtasks");
console.log("element = "+ element);
User.findOneAndUpdate({id:req.query.val}, {$push: {Addtasks: element}},function (error, data) {
if(data)
{
console.log("Success");
}
else
console.log(error);
})
})
正在推送的Addtasks数组的MongoDB jSON代码:
{
"assignee" : "Assign",
"displayLock" : "none",
"displayDelete" : "inline",
"commonID" : "gs76ztkxg04",
"status" : "Requirement Completed",
"Date" : "Thu Sep 03 2020 12:45:34 GMT+0530 (India Standard Time)",
"exampleRadios" : "option1",
"otherdetails" : "okay",
"website" : "asad.com",
"keywords" : "millionaire who earns in sleep",
"words" : 12345,
"topic" : "How to build the empire??",
"_id" : ObjectId("5f509834df31590d88b02467"),
"Bigpaths4Clients" : [],
"Bigpaths" : [
{
"path" : "public\\files\\npm-debug.log",
"name" : "npm-debug.log"
},
{
"path" : "public\\files\\package.json",
"name" : "package.json"
}
]
}
这里是错误的字段名
id
,请更正为\u id
尝试此User.findOneAndUpdate({{u id:req.query.val}
,如果此req.query.val
不是对象id,请使用mongoose.Types.ObjectId(req.query.val)