Como consultar objects nesteds? DoCow
aninhada bson mongodb mongodb query syntax
Array placement-new requer sobrecarga não especificada no buffer? Representação de String de um Enum Significado de 'const' última em uma declaração de function de uma class? Opção JVM -Xss – O que faz exatamente? Existe um equivalente do recurso __noSuchMethod__ para propriedades ou uma maneira de implementá-lo no JS? manipulação avançada de input de campo de texto formatado? Ilustrando o uso da palavra-chave volátil em c # Redimensionar canvas HTML5 para caber na janela Estendendo o modelo do usuário com campos personalizados no Django Como eu me conecto a um .mdf (arquivo de database do Microsoft SQL Server) em um projeto da Web simples? Como ter jQuery restringir os tipos de arquivo no upload? Por que usar interfaces, inheritance múltipla vs interfaces, benefícios de interfaces? Como faço para simular um mouseover em JavaScript puro que ativa o CSS ": hover"? Alterar o número inicial do incremento automático? Qual é a diferença entre Instant e LocalDateTime?
Eu tenho um problema ao consultar o mongoDB com notação de objects nesteds:
db.messages.find( { headers : { From: "reservations@marriott.com" } } ).count() 0 db.messages.find( { 'headers.From': "reservations@marriott.com" } ).count() 5
Não consigo ver o que estou fazendo errado. Espero que a notação de object nested retorne o mesmo resultado que a consulta de notação de ponto. Onde estou errado?
Quais são as regras precisas para quando você pode omitir parênteses, pontos, chaves, = (funções), etc.?
(OrElse e Or) e (AndAlso e E) - Quando usar?
O que os parênteses em torno de uma declaração de object / function / class significam?
Qual é o significado de "=>" (uma seta formada a partir de iguais e maiores que) em JavaScript?
db.messages.find( { headers : { From: "reservations@marriott.com" } } )
Esta consulta para documentos em que os headers são iguais a { From: ... } , ou seja, não contém outros campos.
db.messages.find( { 'headers.From': "reservations@marriott.com" } )
Isso apenas analisa os headers.From campo, não é afetado por outros campos contidos ou ausentes nos headers .
Dot notação docs
Os dois mecanismos de consulta funcionam de maneiras diferentes, conforme sugerido nos documentos da seção Subdocumentos :
Quando o campo contém um documento incorporado (ou seja, subdocumento ), você pode especificar o subdocumento inteiro como o valor de um campo ou "acessar" o subdocumento usando a notação de ponto, para especificar valores para campos individuais no subdocumento :
Equality matches within subdocuments seleciona documentos se o subdocumento corresponder exatamente ao subdocumento especificado, incluindo a ordem dos campos.
No exemplo a seguir, a consulta corresponde a todos os documentos em que o valor do produtor de campo é um subdocumento que contém apenas a company campo com o valor 'ABC123' e o address campo com o valor '123 Street' , na ordem exata: