Ho una collezione strutturata nel seguente modo:MongoDB: abbinare doc non vuoto in ordine di
{
_id: 1,
score: [
{
foo: 'a',
bar: 0,
user: {user1: 0, user2: 7}
}
]
}
Ho bisogno di trovare tutti i documenti che hanno almeno un 'punteggio' (elemento in ordine di punteggio), che ha una certa valore di 'bar' e un sotto-documento 'utente' non vuoto.
Questo è quello che mi è venuta (e sembrava che dovrebbe funzionare):
db.col.find({score: {"$elemMatch": {bar:0, user: {"$not":{}} }}})
Ma, ottengo questo errore:
error: { "$err" : "$not cannot be empty", "code" : 13030 }
Qualsiasi altro modo per fare questo?
È esattamente * come è strutturato? Sembra un po 'fuori. **> var doc = {punteggio: [foo: 'a', barra: 0, utente: {utente1: 0, utente2: 7}]}; gio 7 luglio 00:43:42 SintassiErrore: mancante] dopo la lista di elementi (shell): 1 ** –
@Justin: hai ragione, hai dimenticato le parentesi all'interno della matrice. – Dmitri