0
當(在我的情況與藍鳥,但使用的回調說明)使用貓鼬,下面的代碼都從集合返回一個文件:貓鼬:禁用空的查詢返回的文檔
model.findOne({}, function(err, document) {
//returns a document
})
model.findOne(null, function(err, document) {
//returns a document
})
model.findOne([], function(err, document) {
//returns a document
})
我想知道我是否能夠以及如何禁用這種行爲,因爲它會對我的代碼產生負面影響,因爲我推斷用戶向系統提供的數據中的查詢。特別是返回有效文檔的空查詢會讓我感到擔憂。
從現在開始,我檢查輸入是否爲非空,非數組,非空對象,但它的規模變得有點麻煩。
排除此行爲的最佳方法是什麼?
你不應該排在首位信任用戶。由於findOne將一個對象作爲第一個參數,所以至少應該檢查它是否是一個對象。如果傳遞不正確的數據,則無法期待正確的結果。 – Molda