2011-12-14 8 views
0

mongoDBの私のコレクションのフィルタリングクエリを作成したいと思います。基本的には、すべてのドキュメントの一部のフィールドを除いて、コレクション内のすべての要素を取得したいと考えています。MongoDBのフィルタリングクエリ

db.users.find({}, {thumbnail:0});

しかし、私は複数の操作を行いたいが、私はこのように多くの、三つの異なるエントリのために何かをフィルタリングしたいと思います:

db.users.find({}, {thumbnail: 0, a: 0, b: 0});

MongoDBの上で、それはこのような何かを書かれているスペック

これは問題ではありません。私はこれらのフィールドをクエリの後に受け取り続けます。

は誰も私を助けることができる ...

db.users.find({}, {{thumbnail: 0}, {a: 0}, {b: 0}});

しかし、MongoDBはさえ、このような何かを受け入れていない:

は、私はまた、このような何かを試してみましたか?

+0

ドキュメントからの解決策は私のために働く。 mongodbのどのバージョンを使用していますか? – lig

+0

2.0.1、この例は大丈夫ですが、複数のものをフィルタリングしたい場合は、私が示したように動作しません。なにか提案を? – Masiar

+0

@Masiar:非常に奇妙です。 mongodbシェルまたはいくつかのドライバでクエリを実行していますか? #1と#2のクエリはシェルでうまく動作するため、ドライバの問題です。 –

答えて

0

私が質問のコメントに書いたように、コレクションを生成した人が私にデータ構造に関する間違った情報を与えたことが分かりました。コレクションの形式は{_id: ..., "1" : {a : "a", b : "b", d : "d", ...}, ... }などのようになります。コレクション全体から検索すると、コレクションのサンプル要素abをフィルタリングすることはできません。