如何从命令行运行MongoDB$Merge(如何指定源?)

如何从命令行运行MongoDB$Merge(如何指定源?),mongodb,Mongodb,这显示了以下示例: { $merge: { into: "myOutput", on: "_id", whenMatched: "replace", whenNotMatched: "insert" } } 我可以从命令行运行它吗?我必须在它前面放点东西吗?我看到“myOutput”是目标集合名称。如何指定“from”集合名称。$merge是一个聚合阶段,因此您可以聚合希望从中合并的集合 通过id shell简单地

这显示了以下示例:

{ $merge: { into: "myOutput", on: "_id", whenMatched: "replace", whenNotMatched: "insert" } }

我可以从命令行运行它吗?我必须在它前面放点东西吗?我看到“myOutput”是目标集合名称。如何指定“from”集合名称。

$merge
是一个聚合阶段,因此您可以聚合希望从中合并的集合

通过id shell简单地合并两个集合将是:

db.FROMCOLLECTION.aggregate([{ $merge: { into: "myOutput", on: "_id", whenMatched: "replace", whenNotMatched: "insert" } }])
您还可以使用其他阶段更改现有文档和/或仅通过添加
$match
阶段合并一些文档

db.FROMCOLLECTION.aggregate([{$match: {someField: 'match this'}}, { $merge: { into: "myOutput", on: "_id", whenMatched: "replace", whenNotMatched: "insert" } }])

$merge
是一个聚合阶段,因此您可以只聚合希望从中合并的集合

通过id shell简单地合并两个集合将是:

db.FROMCOLLECTION.aggregate([{ $merge: { into: "myOutput", on: "_id", whenMatched: "replace", whenNotMatched: "insert" } }])
您还可以使用其他阶段更改现有文档和/或仅通过添加
$match
阶段合并一些文档

db.FROMCOLLECTION.aggregate([{$match: {someField: 'match this'}}, { $merge: { into: "myOutput", on: "_id", whenMatched: "replace", whenNotMatched: "insert" } }])