2017-09-22 5 views
0

私は自分のDBに電子メールが取り込まれているかどうかを調べる方法を探しています。ネストされたオブジェクト内のエントリを検索するクエリを書く

データは、ネストされているオブジェクトは、次のようになります。

{ 
 
    "_id": { 
 
    "$oid": "59c50b9190c4fe1c54c8ca85" 
 
    }, 
 
    "scriptData": { 
 
    "email": "[email protected]", 
 
    "age": "10", 
 
    "lang": "undefined", 
 
    "avatar": "undefined" 
 
    } 
 
}

私は、コレクション内のデータを見つけるために、findOne()を使用していますし、問題がある、私はしませんクエリを正しく記述する方法を理解する。

私はそこにメールの価値を探したいと思っています。

{ "電子メール": "[email protected]"}すぎ

{ "[email protected]"}:{ "電子メール" "scriptData"}何も見つからないようないくつかのクエリを試してみました

{"email": "[email protected]"、 "age": "10"、 "lang": "undefined"、 "lang": "undefined"}}それを見つけました。

だから、それを見つけるためにネストされたデータ全体を書かなければなりませんでした。ユーザーは年齢などのフィールドを変更して登録簿をバイパスすることができるため、そのクエリは使用できません。

お時間をいただきありがとうございます。

+1

あなたの質問は何ですか、これはjqueryにどのように関連していますか? –

+0

表題の頭文字を慣習に合うように変更します。 – Sung

+0

idk stackoverflowタグが付いています... –

答えて

0

上記のように、以下のクエリをMongoDBシェルに実行してみてください。

db.collection.find({ 
    'scriptData.email': '[email protected]' 
}) 
+0

はその方法でクエリを書いて、正しく機能しました。御時間ありがとうございます! –

0

ここでは、javascriptを使用してアクセスする方法を示します。しかし、あなたの質問はあまり意味がないので、私はあなたに良い答えを与えることはできません。

var smth = { 
 
    "_id": { 
 
    "$oid": "59c50b9190c4fe1c54c8ca85" 
 
    }, 
 
    "scriptData": { 
 
    "email": "[email protected]", 
 
    "age": "10", 
 
    "lang": "undefined", 
 
    "avatar": "undefined" 
 
    } 
 
}; 
 

 
console.log(smth.scriptData.email);

この情報がお役に立てば幸い!

+0

まあ私はDBを持っていて、コレクションlikee.aをロードします –

+0

そのjqueryに関連する場合。それを自動的に処理します。 これを使用してコリジョンをロードしています。 var playerCollection = Spark.systemCollection( "player"); このコレクションを検索すると、次のようになります。 var result = playerCollection.findOne( "クエリデータ"); だから、このクエリを正しく書く方法を知る必要があります。 –

関連する問題