2016-05-24 3 views
0

Мне нужно скопировать коллекцию в другую коллекцию для работы. То, что я до сих порMongodb копирует коллекцию в другую коллекцию

checkPoints.find().forEach(function(copy){'pdiCheckPoints'[MachineNr].insert(copy);}); 

Но Монго швыряет TypeError: Не удается вызвать метод «вставки» в неопределенной.

копия работает с

checkPoints.find().forEach(function(copy){pdiCheckPoints.insert(copy);}); 

но работает с более чем 1 машины мне нужно добавить идентификатор для каждой копии каким-то образом. Любая помощь очень ценится.

+0

Что такое «машина» в вашей модели? Если 'pdiCheckPoints' является _collection_, то вы не можете индексировать его как _object_ с помощью' [key] ' –

+0

. Аппарат должен быть уникальным идентификатором со многими контрольно-пропускными пунктами, до сих пор идея – Jogibaer

+0

Это означает, что' machine' является отдельной коллекцией или что это всего лишь ключ к вашей коллекции 'pdiCheckPoints'. См. Возможное решение. –

ответ

0

Вы можете просто увеличить документ с дополнительным ключом в процессе копирования:

checkPoints.find().forEach(function(doc){ 
    doc.machineNumber = MachineNr; 
    pdiCheckPoints.insert(doc); 
}); 
+0

Thats it, спасибо много :) – Jogibaer

0

я думаю, что это поможет к и

db.oldCollection.aggregate([{$out : "newCollection"}]) 
Смежные вопросы