3

私はコレクション foo にこのドキュメントを持っています

provincia:
  {
    cod_provincia:5,
    nom_provincia:'Cordoba'
  },
 localidad: 
  {
    cod_localidad:107,
    nom_localidad:'Cordoba'
  },
 barrio:
  {
    cod_barrio:0,
    nom_barrio:'Nva Cordoba'
  }

私はこのようにmongoプロンプトでクエリを実行します

db.foo.find(
{
provincia:
      {
        cod_provincia:5,
        nom_provincia:'Cordoba'
      },
     localidad: 
      {
        cod_localidad:107,
        nom_localidad:'Cordoba'
      },
     barrio:
      {
        cod_barrio:0,
        nom_barrio:'Nva Cordoba'
      }
})

コンソールにこの結果があります

_id("5041a53dd163651512000001")

しかし、私がクエリするとき

db.foo.find(
{
provincia:
      {
        cod_provincia:5

      },
     localidad: 
  {
    cod_localidad:107,
    nom_localidad:'Cordoba'
  },
 barrio:
  {
    cod_barrio:0,
    nom_barrio:'Nva Cordoba'
      }
})

私は何も持っていません...なぜそれは??? nom_provinciaなしですべてのドキュメントをクエリする方法を理解しようとしています

tnx すべて

4

2 に答える 2

2

ネストされたオブジェクトに到達するには、ドット表記を使用する必要があります。

db.test.find({ 
  'provincia.cod_provincia': 5,
  localidad: {
    cod_localidad:107,
    nom_localidad:'Cordoba'
  },
  barrio: {
    cod_barrio:0,
    nom_barrio:'Nva Cordoba'
  }
})

詳細はこちら

于 2012-09-01T09:16:13.113 に答える
1

一部

provincia:
      {
        cod_provincia:5
      },

provincia サブオブジェクトが nom_provincia フィールドなしでそのように見えるドキュメントを検索します。代わりにドット表記を使用します。

'provincia.cod_provincia':5,
于 2012-09-01T10:46:33.803 に答える