MongoDBで配列のサイズがある数より大きいとか小さいとかいう問い合わせをするには

最初

{$size: {$gt:1}

とやったが結果が返ってこなかったのでおかしいなぁと調べてみたらsofにあった。

$whereを使って問い合わせをするらしい。つまり、

{ $where: "this.name.length > 1" }

という形になる。とはいえ、

{$size: {$gt:1}

は直感的だと思うんだけどね。

ProductName MongoDB: The Definitive Guide
Kristina Chodorow
Oreilly & Associates Inc / 3200円 ( 2010-09-23 )


macbookにMongoKitをいれた

>>> from mongokit import *
Traceback (most recent call last):
    from magic import Magic
  File "build/bdist.macosx-10.5-i386/egg/magic.py", line 112, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/opt/local/lib/libmagic.dylib, 6): image not found

これはfileが入ってないせいらしいので、portで入れとく

$ sudo port install file
--->  Computing dependencies for file
--->  Fetching file
--->  Attempting to fetch file-5.04.tar.gz from http://distfiles.macports.org/file
--->  Verifying checksum(s) for file
--->  Extracting file
--->  Applying patches to file
--->  Configuring file
--->  Building file
--->  Staging file into destroot
--->  Installing file @5.04_0
--->  Activating file @5.04_0
--->  Cleaning file

これでOK