我可以在mongoDB聚合中把带空格分隔符的字符串字段转换为数组吗?

问题描述 投票:1回答:1

我想把一个文件的字符串转换成这样的。

{ myField : 'bar foo boo' }

转换成这样的东西。

{ myField : ['bar', 'foo', 'boo'] }

使用空格作为定界符.它是否可以用聚合或我应该做它的程序?

arrays string mongodb aggregate field
1个回答
1
投票

你需要 $split 操作者。它是在一个聚合阶段内运行的。在这个例子中,我们使用 $项目 阶段。要选择一个特定的文件,把 匹配 在您的聚合管道前端的阶段。

> use test
switched to db test
> db.test.insert({ myField : 'bar foo boo' })
WriteResult({ "nInserted" : 1 })
> db.test.aggregate([{"$project" :{ "mySplitField" :{"$split" : ["$myField", " "]}}}])
{ "_id" : ObjectId("5ebe77d0ca404d65eed0c4a8"), "mySplitField" : [ "bar", "foo", "boo" ] }
>
© www.soinside.com 2019 - 2024. All rights reserved.