要进行连接,请在MongoDB中使用$concat aggregate()
。首先让我们创建一个包含文档的集合-
> db.demo377.insertOne({"ListOfIds":[1001,1002,1003,1004,1005,1006,1007]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e5a73462ae06a1609a00b0e")
}
在find()
方法的帮助下显示集合中的所有文档-
> db.demo377.find().pretty();
这将产生以下输出-
{
"_id" : ObjectId("5e5a73462ae06a1609a00b0e"),
"ListOfIds" : [
1001,
1002,
1003,
1004,
1005,
1006,
1007
]
}
以下是查询以聚合形式连接整数数组-
> db.demo377.aggregate([
... { "$project": {
... "ListOfIds": {
... "$let": {
... "vars": {
... "key": {
... "$reduce": {
... "input": "$ListOfIds",
... "initialValue": "",
... "in": { "$concat": ["$$value", "++", { "$toLower": "$$this" }] }
... }
... }
... },
... "in": { "$substrCP": ["$$key", 2, { "$strLenCP": "$$key" }] }
... }
... }
... }}
... ])
这将产生以下输出-
{ "_id" : ObjectId("5e5a73462ae06a1609a00b0e"), "ListOfIds" : "1001++1002++1003++1004++1005++1006++1007" }