強弱と高低

Python3をメインに

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