Aynı kalıcılık katmanını paylaşırken (sorguları içeren paylaşılan modül) mongoose kullanan birkaç nodejs dosyası vardır. (Hep aynı biri) bu cinleri birinde Koyu mongoose magic: "FindOne için geçersiz argüman"
rastgele (Haftada birkaç kez) firavunfaresi aşağıdaki hatayı alıyorum:firavun faresi: findOne Geçersiz argüman()
Tüm sorguları kontrol ettik ve bunun nereden kaynaklandığını bulamadık. Hata çağrı yığını her seferinde farklıdır (belirli bir mongoose çağrısı bu soruna neden olur gibi görünüyor), bunun iş mantığına özgü olduğunu düşünmüyoruz.
log({
// What mongoose checks (both false -> the error).
isInstanceOfMQuery: conds instanceof mquery,
isObject: mquery.utils.isObject(conds),
// Trying to find out what this value is.
conds,
toString: Object.prototype.toString.call(conds)
inspect: util.inspect(conds, { showHidden: true, depth: null, showProxy: true })
})
conds
firavunfaresi şikayetçi olduğu argümanı: hata tekrar ortaya durumda
Bu bu çağrı sonucu günlükleri biridir:
{
"isInstanceOfMQuery": false,
"isObject": false,
"conds": {},
"toString": "[object Null]"
"inspect": "{}",
}
Şimdi bu nasıl conds aynı anda
{}
ve
null
olabilir ... bana daha karıştırır ?! Benim aradığım
Yanıtlar:
- nasıl conds içeren nesnenin bu tür üretebilir?
- Açıkça rastgele ve nadiren gerçekleşen bir hataya nasıl devam edersiniz?
- Ne tür değerlerin olduğunu veya nereden geldiğini tanımlamak için daha fazla kayıt olabilir miyiz?
Herhangi bir fikir takdir edildi!
Düğümün hangi sürümü çalışıyorsunuz? Bunu soruyorum çünkü rastgele bunu Node 7.4.0 ile ancak 6.9.2 ile değil. – Brett
Yine Node 7 ile Node 7 ile Node 7 gizemli null sorgu nesneleri ile ilgisi gibi görünüyor başka bazı gerçekten endişe verici şeyler gördüm, yine Node 6 ile gözlemlemedi. – Brett
En geçerli 7.x sürümleri üzerinde çalışıyoruz şimdi oldukça uzun bir süredir. Bir süre önce onunla çalışan mongoose elde etmek için bir çekme isteği yaptım. Garip bir şey, aynı düğüm sürümü ile çalışan diğer tüm oemons bu sorunu yok: -/ Bahşiş için teşekkürler! – patrickd