mongodb で空のドキュメントを含むレコードを見つけるクエリ
MongoDB v3.4.5であるキーの中身が空のリストになっているレコードを見つけたい
{ _id: xxxxxxx, Nakami: [1,2,3], } { _id: xxxxxx1, Nakami: [] }
こういった具合。ちなみにNakamiにはindexをふっていない前提。
さていくつか方法があるのでみていきたい。 実行時間が速い順に並んでいる。
TEMP.find( { Nakami: { $size: 0} } )
TEMP.find( { Nakami: []} )
TEM.find( { $where : "thie.Nakami.length == 0" } )
最後の $where
を使うのはだいぶ効率が悪い。今は $size
を使うのがいいだろう。
参考ページ
mongodb - Query for documents where array size is greater than 1 - Stack Overflow
Find MongoDB records where array field is not empty (using Mongoose) - Stack Overflow