例如,我有一个如下文件。
{
"test": "success"
}
我想在“成功”之后添加额外的字符串值。
{
"test": "successfail"
}
因此,我尝试使用猫鼬进行一些聚合。
const Users = require("./userSchema")
Users.aggregate([
{},
[{ $set: { test: { $concat: [ "$test", "fail" ] } } }],
])
但这根本不起作用。
您能为此建议一些解决方案吗?非常感谢您阅读本文。
答案 0 :(得分:2)
要在集合的现有字段中连接字符串,您应使用$project
阶段管线和$concat
运算符,而不是在管线阶段使用$set
:
Users.aggregate([ {$ project:{测试:{$ concat:[“ $ test”,“”,“失败”]}}} ])
有关更多详细信息,请同时检查以下查询以及输出:
> db.st1.find()
{ "_id" : ObjectId("5dffa38b4a36d14455f50158"), "test" : "success" }
> db.st1.aggregate([{$project: {test: {$concat: ["$test", "fail" ] } } }])
{ "_id" : ObjectId("5dffa38b4a36d14455f50158"), "test" : "successfail" }
>
> db.st1.aggregate([{$project: {test: {$concat: ["$test", "-", "fail" ] } } }])
{ "_id" : ObjectId("5dffa38b4a36d14455f50158"), "test" : "success-fail" }
>
> db.st1.aggregate([{$project: {test: {$concat: ["$test", "", "fail" ] } } }])
{ "_id" : ObjectId("5dffa38b4a36d14455f50158"), "test" : "successfail" }
有关参考,请访问MongoDB的官方文档: