3

次のようなスペースを含むフィールドを持つmongoデータベースにサブオブジェクトがあります。

{name: "John Doe", subdata: {"Field 1": "Something", "Field 2": "Something else"}}

私が見つけたものから、mongoはフィールドフィールド1とフィールド2を許可しますが、サブデータを探すためのクエリを構造化する方法の指示を見つけることができませんでした。フィールド1。私の例ではフィールド1とフィールド2を検索できますか、それとも空白を取り除くためにデータを再構築する必要がありますか?

4

3 に答える 3

6

私があなたの質問を誤解しない限り、あなたはただすることができます:

db.test.find({"subdata.Field 1":'何か'});
于 2012-05-25T14:26:39.320 に答える
0

pymongoについてはわかりませんが、他の言語のライブラリの多くは、オブジェクトとドキュメントのマッピング機能を提供しています。「フィールド1」は私が聞いたすべての言語で無効な識別子であるため、これにも問題があると思います。

私のアドバイス:空白を取り除くと、将来的にかなりの時間を節約できます。

于 2012-05-25T14:20:22.847 に答える
0

スペースは、Mongoフィールド名の有効な文字です。

フィールド名の制限

フィールド名にドット(つまり、。)またはヌル文字(つまり、\ 0)を含めることはできません。また、ドル記号(つまり、$)で始めることはできません。

したがって、一種のルックアップは魅力のように機能するはずです。

db.collection.find({"subdata.Field 1": {$exists: true}})
于 2017-10-30T11:13:15.977 に答える