Сохранение результата find () в другой коллекции - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу сохранить результат команды find () в новой коллекции (на основе ответа на похожий вопрос Сохранение результата запроса MongoDB ).

> db.collection2.insert(db.collection1.find({"person.name": "Carl"}))

тогда я хотел посмотреть, было ли это успешно

> db.righthand.find()
[Object]

Я не уверен, почему он вывел [Object], потому что я предполагал, что он вставит результат db.collection1.find ().

1 Ответ

0 голосов
/ 11 декабря 2018

Вы получаете [Object] в консоли, потому что вы вставили курсор , возвращенный методом find().

Чтовам действительно нужно использовать метод toArray() для курсора, поскольку он возвращает массив, содержащий все документы из него.Метод полностью выполняет итерацию курсора, загружая все документы в оперативную память и исчерпывая курсор.

Таким образом, операция вставки будет выглядеть как

> db.collection2.insert(db.collection1.find({"person.name": "Carl"}).toArray())

И запросит коллекцию как

> db.collection2.find().pretty()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...