1.$split
$split
是aggregate的管道操作符,用于字段拆分
基础语法:
{ $split: [ <string expression>, <delimiter> ] }
string expression 是需要拆分的字段,为必需内容。
delimiter 是拆分的标记,为必需内容。
拆分的结果是一个数组,可用$unwind
为数组字段中每个元素单独创建一条记录。
2.split()
split 是基于js的一个函数方法
基础语法为:
stringObject.split(separator,howmany)
stringObject为需拆分的字段,为必需内容。
separator为拆分标记,为必需内容。
howmany为拆分后结果数组的最大长度,为可选内容。
示例:
1.拆分url字段,拆分标记为“/”
(1).$split
db.getCollection("a").aggregate([{
$project: {
"url": "$url",
"split": {$split: ["$url", "/"]}
}
}])
拆分结果
(2).split()
db.getCollection("a").find().forEach(function(s) {
a = s.url;
print("拆分前:" + a);
b = a.split('/');
for (var i = 0; i < b.length; i++) {
print("拆分后 "+i +":"+ b[i]);
}
//db.getCollection("a").update({_id:s._id},{$set:{sp1:b[1]}});
//s.sp1=b[1];db.getCollection("a").save(s);
//若要将拆分结果写回表中,可参照注释中两种写法
})
输出结果
网友评论