2013-11-21 5 views
0

У меня есть коллекция в вар, как это:MongoDB не вставляет в корне документа

var temp = Collection.find({nom: "lol"}).fetch(); 

изменить _id здесь

Collection2.insert(temp); 

В MongoDB у меня есть это:

{ 
    "0" : { 
     _id: "65462984521651" //<- The id I have change 
     //Some other data 
     //.... 
     }, 
    _id : "dvhssdhvflidsfjhv" 
} 

Как вставить документ в корневой каталог, а не в «0»? Спасибо :)

ответ

1

cursor.fetch method всегда возвращает массив. collection.insert method всегда ожидает один документ, который равен , в отличие от родного драйвера MongoDB JS, где он будет принимать массовые вставки.

Вставка нескольких документов была покрыта в Does inserting multiple documents in a Meteor Collection work the same as pure mongodb?.

Рассмотрим следующий (вместо Collection2.insert(temp)):

temp.forEach(function(doc) { 
    Collection2.insert(doc); 
}); 

Также рассмотреть именовании переменной что-то другое, чем temp ... темп чего? Всего сообщений пользователя temp? временные сообщения? temp usernames? То же самое касается Collection и Collection2. Опять же, эти имена могут быть просто для этого конкретного вопроса SO; поэтому, если это так, проигнорируйте эту заметку!

+1

это работает !!!!! Большое спасибо вам roxxx! – Ricklemer

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