2013-07-25 2 views
1

У меня есть коллекция что-то вроде этого ...как написать MongoDB запрос для «подсчета элементов в поддокументе»

{ 
    { 
     id: 123, 
     name: "abc", 
     data: { 
      type1: 0.78, 
      type2: 0.89, 
      type3: 0.67 
     } 
     purpose: "commercial" 
    }, { 
     id: 124, 
     name: "pqrs", 
     data: { 
      type1: 0.34, 
      type2: 0.78, 
     } 
     purpose: "open" 
    }, { 
     id: 125, 
     name: "xtec", 
     data: { 
      type1: 0.48, 
      type2: 0.56, 
      type3: 0.67 
      type4: 0.56, 
      type5: 0.67 
     } 
     purpose: "some other" 
    } 
} 

Я хотел бы подсчитать количество элементов в «данных» поддокумент. Может ли кто-нибудь отправить мне запрос mongodb?

или я хотел бы, чтобы отобразить все документы, где «данные» суб-документ длина = 3

ниже запрос не работает

db.test.find({$where : 'data.length = 3'}); 

Любая помощь будет принята с благодарностью. Спасибо!!

С уважением, Радж

ответ

0

Попробуйте это поставить условие внутри метода подсчета, вы можете использовать любое условие, которое вы используете в методе FIND.

db.test.count({...}); 
Смежные вопросы