2014-04-15 8 views
0

Я TRAING создать goindex, но прежде, чем я СВАО слить поле 2 дифферента в на массив я пытаюсь использовать этот код, нокак обновить поле с существующим на MongoDB

db.contenuti.update({}, 
    {$set: 
     { "luogo.cordinate":[luogo.dd_latitudine,luogo.dd_longitudine] }, 
    { "multi": true }) 

если я запускаю код внутри консоли нет ошибки, но остаются 3 точки.

пример страницы:

"_id": ObjectId("534ce491e7fbe396208079b4"), 
    "id_contenuto": NumberInt(188), 
    "id_formato": NumberInt(19), 
    "titolo": "panorama", 
    "uri_cover": "http:\/\/www.inmedialoci.polito.it\/media\/img\/27032014panorama.jpg", 
    "utilizzo": NumberInt(0), 
    "data_caricamento": "2014-03-27T12:19:12+0100", 
    "utente": { 
    "id_utente": NumberInt(1), 
    "nome": "Amministratore", 
    "cognome": "In Media Loci" 
    }, 
    "luogo": { 
    "id_luogo": NumberInt(9), 
    "id_area": NumberInt(1), 
    "nome": "Passerano Marmorito", 
    "dd_latitudine"▼: 45.0545372, 
    "dd_longitudine": 8.0194042, 

    }, 
    "categorie": { 
    "0": { 
     "id_categoria": "4", 
     "nome": "Ricordi", 
     "main": "1" 
    } 
    } 

ответ

0

В запросе вы пытаетесь обновить cordinate поле с уже имеющейся области dd_latitudine и dd_longitudine как массив. При обновлении этот же подход чтения и записи не будет работать. Легко добиться этого - сначала получить документ, а затем изменить его и сохранить.

db.contenuti.find({}).forEach(function(doc) { 
    doc.luogo.cordinate = [doc.luogo.dd_latitudine,doc.luogo.dd_longitudine] ; 
    db.contenuti.save(doc); 
}); 
+0

thx you. код работает whit doc.luogo.dd_latitudine ecc ecc – user3535936

Смежные вопросы