I due interrogazione lavoro meccanismo in modi diversi, come suggerito nella the docs presso la sezione documenti secondari:
Quando il campo contiene un documento incorporato (vale a dire, documento secondario) , è possibile specificare l'intero documento secondario come valore di un campo o "raggiungere" il documento parziale usando la notazione punto, per specificare i valori per i singoli campi nel documento secondario :
uguaglianza partite all'interno di documenti secondari selezionare documenti se il documento secondario corrisponde esattamente il documento secondario specificato, tra cui l'ordine dei campi.
Nel seguente esempio, la query corrisponde a tutti i documenti in cui il valore del produttore campo è un documento secondario che contiene solo il campo company
con il valore 'ABC123'
e il campo address
con il valore '123 Street'
, nell'ordine esatto :
db.inventory.find({
producer: {
company: 'ABC123',
address: '123 Street'
}
});
C'è un modo per farlo senza le virgolette attorno a "intestazioni. Da"? – trysis
@trysis per cosa? – shx2
Non lo so, mi sto solo chiedendo, e ho pensato che a volte potrebbe essere utile. – trysis