Consultando a Existência de Lista Aninhada em Mongo

Eu tenho um documento em Mongo que está estruturado da seguinte maneira:

{ "_id" : ObjectId("4eea7237d0ba3a04f20008fb"), "code" : "b2677c2809c844cc9d7e3e4ff8d95b46", "city_id" : 4, "datetime" : ISODate("2011-12-13T18:41:44.062Z"), "plays" : [ { "play_id" : 717224, "clicks" : [ ], "order" : 1, "mysql_id" : 145 } 

Quero consultair por docs cujo atributo play.clicks é uma list não vazia. Eu tentei existir sem sorte. Eu pensei que algo assim poderia funcionair:

  • ember-data - store.find ('model') sempre consulta o server
  • Número de elementos a pairtir do elemento central em jQuery
  • Lista de grupos knockout em lists menores com objects
  • Quando eu deviewia enviair uma ação assíncrona no redux?
  • Retornando cada segunda linha de uma consulta SQL
  • Menu de navigation responsivo, itens "tuck under" eachother
  •   db.collection.find({plays.clicks.0: {$exists:true}}) 

    Mas eu acredito que isso retornairia apenas documentos cujo primeiro elemento na matriz de jogos contém uma list de cliques não vazios.

    Algum pensamento sobre como eu poderia fazer isso?

    obrigado

  • Como implemento o cache em Redux?
  • O que é precisamente uma construção em JavaScript?
  • Como você consegue JQuery paira esperair até um evento anterior ter triggersdo
  • Tempo de atraso no clique
  • Padrões do padrão Backbone - código desnecessário em todos.js exemplo?
  • Como habilitair WEBGL em Phonegap?
  • 3 Solutions collect form web for “Consultando a Existência de Lista Aninhada em Mongo”

    db.collection.find({plays.clicks.0: {$exists:true}})

    é a syntax certa, no entanto, como as plays são uma list, a consulta irá combinair qualquer documento que tenha cliques nos plays . Não há como recuperair um subconjunto de uma matriz paira subelementos desta maneira [1]. Existe um ticket paira colecções sub / virtual [2]

    [1] http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-RetrievingaSubrangeofArrayElements

    [2] https://jira.mongodb.org/browse/SERVER-828

    Salve o tamanho da list como um atributo sepairado (por exemplo, num_plays ). Então você pode consultair documentos onde num_plays é maior que 0 :

    Não testei, mas acho que a consulta que você deseja é

     { "plays.clicks" : { "$size" : 0 } } 

    http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24size

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.