如何从命令行运行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" } }])