任何人都知道檢查對象是貓鼬對象的最簡單方法是什麼? 我只是最好的檢查,如果toObject()被定義或有一種更有效的方法。 非常感謝貓鼬:檢查對象是否是貓鼬對象
16
A
回答
23
您可以通過instanceof
運算符檢查對象的原型,以確認它是貓鼬模型的一個實例。從mongoosejs.com使用示例模式:
if (obj instanceof Cat) {
// yes, it's a mongoose Cat model object
...
}
14
我使用這個
if (object.constructor.name === 'model') {
// object is mongoose object
}
+0
這一個工作,上面的答案在JSLint – Enkode
+0
失敗'模型'是一個非常通用的名稱。 –
0
在檢查的情況下,對我來說,follwing當一個對象ID是一個人口稠密的對象或只是一個對象ID:
if (object._id.constructor.name === 'ObjectID') {
// Not a populated object, only its ID
}
0
要檢查是否obj
是貓鼬的對象,使用此片段:
const _ = require('lodash');
const mongoose = require('mongoose');
function checkIfMongooseObject(obj) {
return _.get(charger, 'constructor.base') instanceof mongoose.Mongoose;
}
與其他提供的解決方案相反,這是安全的 - 它永遠不會失敗,無論類型爲obj
(甚至是String或Int)。
相關問題
- 1. 貓鼬,檢查是否在對象
- 2. 貓鼬對象
- 3. 貓鼬 - 對象
- 4. 檢查貓鼬對象是否包含子字段的函數
- 5. 貓鼬對象方法不是函數
- 6. 貓鼬 - 推到對象
- 7. 貓鼬查詢改變對象順序
- 8. 如何爲貓鼬查詢做對象?
- 9. 貓鼬查詢找到對象
- 10. 使用貓鼬查詢驗證對象
- 11. 如何貓鼬伸出查詢對象
- 12. 貓鼬檢查getById是否有字段
- 13. 貓鼬3.4.0返回[對象對象],而不是實際值 -
- 14. 對貓鼬
- 15. 如何檢查貓鼬對象ref是否包含匹配的字段?
- 16. 查找對象ID對象ID數組返回使用貓鼬
- 17. 查找對象的不同數組對象與貓鼬
- 18. 咕task任務保存貓鼬對象
- 19. 貓鼬 - 發佈對象數組混合
- 20. 合併在貓鼬的兩個對象
- 21. 在貓鼬,如何篩選對象
- 22. 貓鼬 - 在數組中填充對象
- 23. 一個使用貓鼬Method對象
- 24. 貓鼬填充問題 - 數組對象
- 25. 貓鼬使用對象ID軟刪除
- 26. 使用Redis緩存貓鼬對象
- 27. 貓鼬findOne的對象屬性
- 28. 貓鼬Express.js刪除對象與關係
- 29. 用EJS迭代貓鼬對象
- 30. 貓鼬刪除空對象或陣列
不錯!例如this.message =對象instanceof消息? object:new Message(object); – charneykaye