對於我的測試套件,我想批量測試數據庫中的測試信息,然後批量刪除整個測試中輸入的任何測試信息以返回乾淨的版本。我這樣做是通過在數據庫上運行一個bulkWrite來實現的,我通過nodeJS的require語句加載了一個JSON文件的內容。Mongoose bulkWrite - 'q'的錯誤類型
的問題是,對於數據集
[ { deleteOne: { username: 'test-author' } } ]
傳遞給models[key].collection.bulkWrite(action[key])
,其中關鍵是興趣和行爲模式的名稱是JSON文件,我得到以下錯誤:
{ MongoError: Wrong type for 'q'. Expected a object, got a null.
at Function.MongoError.create (/var/www/website/server/node_modules/mongodb-core/lib/error.js:31:11)
at /var/www/website/server/node_modules/mongodb-core/lib/connection/pool.js:483:72
at authenticateStragglers (/var/www/website/server/node_modules/mongodb-core/lib/connection/pool.js:429:16)
at Connection.messageHandler (/var/www/website/server/node_modules/mongodb-core/lib/connection/pool.js:463:5)
at Socket.<anonymous> (/var/www/website/server/node_modules/mongodb-core/lib/connection/connection.js:339:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:548:20)
name: 'MongoError',
message: 'Wrong type for \'q\'. Expected a object, got a null.',
ok: 0,
errmsg: 'Wrong type for \'q\'. Expected a object, got a null.',
code: 14,
codeName: 'TypeMismatch' }
我已經做了一些研究,並一直無法找到解決這個問題的方法。這個錯誤本身是沒有意義的,所以我無法從中理解。任何想法如何解決這個問題?
任何幫助將不勝感激! 乾杯!
json文件沒有模型名稱,所以它拋出null值。 –
您是否可以發佈一些示例數據以便重現問題 –
@ KARTHIKEYAN.A:我必須傳遞模型名稱嗎?最終導致調用'models [key] .collection.bulkWrite(action [key])'解決爲'Author.collection.bulkWrite(action.Author)' - 因此我懷疑這個集合的範圍是Author模型 –