根据来自不同集合的数据创建新条目(MongoDb)

时间:2018-05-31 13:55:18

标签: sql mongodb mongodb-query

我想根据其他集合中的条目创建一个新条目。我有一些默认字段。

在sql中它会是这样的:

INSERT INTO collection1 (field1, field2, field3)
SELECT field_1, field_2, "manualValue" as field3 FROM collection2

在mongo中的Ofc,没有任何目的地字段。在我的情况下,field_1将是一个数组。 一位同事说应该用$ facet完成,但我真的不知道怎么做。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

有一个$out运算符,其工作方式与INSERT INTO的SQL语法SELECT相同。基本上它需要您的聚合管道并将其重定向到指定的集合,但有一点需要注意:它创建新的集合或替换现有的集合,因此您无法追加"#34;附加"你得到现有的集合。将您的SQL转换为Mongo:

db.collection2.aggregate([
    {
        $project: {
            field_1: 1,
            field_2: 1,
            field_3: "manualValue"
        }
    },
    {
        $out: "collection1"
    }
])
相关问题