javascript - mongoose保存報錯
問題描述
// 我在用戶Schema中創(chuàng)建了專欄數(shù)組(articles),專欄是對象,底下articles數(shù)組嵌套了文章對象,結(jié)構(gòu)類似下圖:// User.articles = [專欄一, 專欄二 ...]// 專欄一.articles = [ 文章一, 文章二 ...]// 實際操作中,只要涉及到修改原有值,一保存就報錯// 如splice,pop,或者直接賦值都報錯,但push就成功// 找到專欄,對專欄文章進(jìn)行splice可以成功修改,但保存操作時報錯user.articles[cindex].articles.splice(aindex, 1, newarticle) // cindex 專欄序號 aindex 文章序號id = column.articles[aindex]._idconsole.log('發(fā)布文章更新,id為:', id) // 能輸出結(jié)果user.save()// 可成功修改,保存報錯user.articles[cindex].articles[aindex].name = ’asdfsadf’user.save()// 成功column.articles.push({ _id : column.articles[aindex]._id, name: ’asdfsdf’})user.save()// 報錯如下:// Unhandled rejection Error// at model.wrappedPointCut [as save] (C:nodejsmyblognode_modulesmongooselibservicesmodelapplyHooks.js:111:29)// at User.findOne.then.user (C:nodejsmyblogmodelsUserActions.js:299:10)// at tryCatcher (C:nodejsmyblognode_modulesbluebirdjsreleaseutil.js:16:23)// at Promise._settlePromiseFromHandler (C:nodejsmyblognode_modulesbluebirdjsreleasepromise.js:512:31)// at Promise._settlePromise (C:nodejsmyblognode_modulesbluebirdjsreleasepromise.js:569:18)// at Promise._settlePromise0 (C:nodejsmyblognode_modulesbluebirdjsreleasepromise.js:614:10)// at Promise._settlePromises (C:nodejsmyblognode_modulesbluebirdjsreleasepromise.js:693:18)
當(dāng)我使用 save(err=>console.log(err)) 時,報錯versionkey錯誤,之后我禁用掉versionkey便暫時防止了這個錯誤的產(chǎn)生。但終究還是沒有弄清楚這個問題的來由。還請各位大大詳解。
問題解答
回答1:對數(shù)據(jù)庫數(shù)據(jù)修改和保存都需要使用相關(guān)方法才行,不能說直接操作數(shù)據(jù)屬性,完了用save
回答2:save方法有參數(shù)
相關(guān)文章:
1. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時間會消失是什么情況?2. python沒入門,請教一個問題3. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發(fā)現(xiàn)4. php如何獲取訪問者路由器的mac地址5. html - 爬蟲時出現(xiàn)“DNS lookup failed”,打開網(wǎng)頁卻沒問題,這是什么情況?6. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?7. 求教一個mysql建表分組索引問題8. node.js - 用nodejs 的node-xlsx模塊去讀取excel中的數(shù)據(jù),可是讀取出來的日期是數(shù)字,請問該如何讀取日期呢?9. html5 - input type=’file’ 上傳獲取的fileList對象怎么存儲于瀏覽器?10. javascript - 在 vue里面用import引入js文件,結(jié)果為undefined
