相关疑难解决方法(0)

将字符串拆分为MongoDB中的子字符串或字符数组

我需要转换这样的字段:

{ 
    "_id" : ObjectId("576fd6e87d33ed2f37a6d526"), 
    "phoneme" : "JH OY1 N Z" 
}
Run Code Online (Sandbox Code Playgroud)

进入像这样的子串数组

{ 
    "_id" : ObjectId("576fd6e87d33ed2f37a6d526"), 
    "phonemes" : [ "JH", "OY1", "N", "Z" ] 
}
Run Code Online (Sandbox Code Playgroud)

有时会变成像这样的字符数组

{
    "_id" : ObjectId("576fd6e87d33ed2f37a6d526"), 
    "phonemes" : ["J", "H", " ", "O", "Y", "1", " ", "N", " ", "Z"]
}
Run Code Online (Sandbox Code Playgroud)

我在这里发现了一些将字符串转换为数组的代码,但是对于我的目的来说有点太简单了,因为只创建了一个数组元素.

db.members.find().snapshot().forEach( function (x) {
   x.photos = [{"uri": "/images/" + x.photos}];
   db.members.save(x);
 });
Run Code Online (Sandbox Code Playgroud)

我是否可以在mongo shell语句中使用整个javascript语言?

string mongodb aggregation-framework

7
推荐指数
2
解决办法
1万
查看次数

将Mongo中的某些字段从String转换为Array

我有一组文档,其中"标签"字段从空格分隔的标签列表切换到单个标签的数组.我想将以前的空格分隔字段更新为所有数组,如新的传入数据.

我也遇到了$ type选择器的问题,因为它将类型操作应用于单个数组元素,即字符串.所以按类型过滤只会返回所有内容.

如何将每个看起来像第一个示例的文档转换为第二个示例的格式?

{
    "_id" : ObjectId("12345"),
    "tags" : "red blue green white"
}
{
    "_id" : ObjectId("54321"),
    "tags" : [
        "red",
        "orange",
        "black"
    ]
}
Run Code Online (Sandbox Code Playgroud)

mapreduce mongodb mongodb-query aggregation-framework

5
推荐指数
1
解决办法
2560
查看次数