我有几个文件,例如:
    {
    "_id" : "60d3fcb6077b0a41e090ecc9",
    "vendor" : "Best",
    "test_name" : "Number Sequence",
    "discipline" : "early math"
},
{
    "_id" : "60d3fcb6077b0a41e090edd7",
    "vendor" : "Best",
    "test_name" : "Value Places",
    "discipline" : "early math"
}
我希望将EM:附加到test_name字段,无论该字段中已经存在什么,只要它与vendor和discipline字段匹配。
以下是我迄今为止所做的尝试:
db.getCollection("assessments_1234").aggregate(
    [
        {
            "$match" : {
                "vendor" : "Best",
                "discipline" : "early math"
            }
        }, 
        {
            "$set" : {
                "test_name" : {
                    "$cond" : {
                        "if" : {
                            "$regexMatch" : {
                                "input" : "$test_name",
                                "regex" : /.* /
                            }
                        },
                        "then" : {
                            "$replaceOne" : {
                                "input" : "$test_name",
                                "find" : "",
                                "replacement" : "EM: "+"$test_name"
                            }
                        },
                        "else" : "$test_name"
                    }
                }
            }
        }
    ], 
    {
        "allowDiskUse" : false
    }
).forEach(function(record) {
    print(record.test_name)
   db.assessments_1234.replaceOne({_id: record._id}, record)
})