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 的情况下查询所有文档

全部

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 回答