2011-11-07 13 views
1

Hmmmタイトルを明確にする方法がわかりません。うまくいけば、以下の説明がより良くなるだろう。例えばMongoDBの内部オブジェクトとコレクションを比較し値を比較する方法は?

company = new Schema { 
    name: String, 
    contact: {} 
} 

::私が見つける(またはfindOne)を行うと

{ 
    name:'cnn' 
    contact: { 
     address:'whatever', 
     phone1: '1-800-123-1234', 
     url: 'cnn.com' 
    } 
} 

、私はこれを行うことができます。..

db.company.findOne({name:'cnn'}); 

は、私はそのようなスキーマが持っています

「連絡先」の値を検索する場合はどうすればよいですか?

URL =「cnn.com」を持つレコードを検索

または

答えて

4

がサブキーを検索するには「コンタクト」でキー「URL」を持っているレコードを見つけるために、あなただけへのパスを与えますピリオドで区切られたキー。

db.company.findOne({"contact.url": "cnn.com"}) 

接触URLを持つレコードを見つけるために:あなたは照会サブキーのインデックスを作成しない限り、これらのクエリがフルコレクションをスキャンされることを

db.company.findOne({"contact.url": {$ne: null}}) 

注意を。慎重に使用する。

+0

Aaah ..不思議ではありません。 contact.urlを使用しますが、引用符は使用しません。私は連絡を試みました:{url: 'cnn.com'} ..ああ..不思議ではない..ありがとう。 :) – murvinlai