2015-11-11 15 views
8

Sto tentando di aggiungere un nuovo campo in tutti i documenti di una raccolta esistente.MongoDB Inserisci campo in tutti i documenti di una raccolta

Nome database = prova nome della raccolta = squadre

test.teams.update({ 
} 
, 
{ 
    $set: { 
     "isGolden": false 
    } 
} 
, 
false, 
true) 

Quando sto provando con MongoChef, sono io dando il seguente errore: enter image description here

Cosa c'è di sbagliato in questo? Grazie

+0

Non dovrebbe essere 'utilizzare test; db.teams.update ({}, {$ set: {isGolden: false}}, false, true); '? – chridam

+0

il nome del mio database è di prova ma ho provato anche quella versione ma non funziona. –

+1

È necessario eseguire il comando completo in IntelliShell di MongoChef, non con qualsiasi query nell'editor JSON in cui ci si trova. Ma ha bisogno di essere 'db.teams.update' come dice chridam, non' test.teams.update'. – JohnnyHK

risposta

21

Se si desidera aggiornare tutti i documenti, utilizzare qualcosa di simile:

db.teams.update({}, {$set: {isGolden: false}}, {multi: true}); 

vostro stanno selezionando tutto, l'impostazione del isGolden depositato su false e fare di questo aggiornamento in tutti i documenti utilizzando più: true

+0

dice "Aspettando un'apertura '{' alla riga 1, col 2" Questo è ciò che ottengo sempre con varianti diverse –

+0

Questa è l'unica query che non si è in grado di eseguire? L'ho provato su mongo shell 3.0.7 su arch linux e funziona bene – rcmgleite

+0

Grazie ragazzi l'ho fatto con MongoChef Advanced-> Update Dialogue. Ho selezionato tutti i documenti nella raccolta e aggiunto il campo. Ora ha funzionato. –

4

Con MongoDB 3.2 o versione superiore, si può fare

db.teams.updateMany({}, {$set: {isGolden: false}}); 

Ecco il documento per la funzione updateMany db.collection.updateMany()

1

Con Studio 3T si scrivevano le query in modalità JSON in cui richiede i dati JSON ma non si sta scrivendo la query JSON. Devi andare in modalità InteliShell in cui la query verrà eseguita nel formato che stavi scrivendo.

Studio 3T InteliShell

Problemi correlati