有没有办法在不将文档发送到客户端的情况下将文档从一个集合复制或移动到另一个集合,而不将文档发送到客户端?
在SQL中,可以通过以下方式实现:
INSERT INTO table1 (f1, f2)
SELECT f1, f2 FROM table2 WHERE condition;
答案 0 :(得分:3)
是的,您可以使用聚合框架的$out
operator。以下示例将文档从books集合复制到authors集合:
db.books.aggregate([
{ $group: { _id: "$author", books: { $push: "$title" } } },
{ $out: "authors" }
]);