Mongodb Mongo db聚合将数组转换为字符串
收集数据Mongodb Mongo db聚合将数组转换为字符串,mongodb,mongodb-query,aggregation-framework,aggregate-functions,Mongodb,Mongodb Query,Aggregation Framework,Aggregate Functions,收集数据 date_new:Array 使用mongodb聚合如何转换为这样的字符串,如果有空字符串,请将其转换为“” 请试试这个: db.yourCollectionName.aggregate([{ $addFields: { date_new: { $arrayToObject: { $map: {
date_new:Array
使用mongodb聚合如何转换为这样的字符串,如果有空字符串,请将其转换为“”
请试试这个:
db.yourCollectionName.aggregate([{
$addFields:
{
date_new: {
$arrayToObject:
{
$map:
{
input: "$date_new",
as: "each",
in: [{ $toString: { $indexOfArray: ["$date_new", '$$each'] } }, '$$each']
}
}
}
}
}])
收集数据:
/* 1 */
{
"_id" : ObjectId("5e1e2a74d3c98f2a7100fd44"),
"date_new" : [
"abc",
"def",
""
]
}
/* 2 */
{
"_id" : ObjectId("5e1e2f25d3c98f2a7100fd45"),
"date_new" : []
}
/* 1 */
{
"_id" : ObjectId("5e1e2a74d3c98f2a7100fd44"),
"date_new" : {
"0" : "abc",
"1" : "def",
"2" : ""
}
}
/* 2 */
{
"_id" : ObjectId("5e1e2f25d3c98f2a7100fd45"),
"date_new" : {}
}
结果:
/* 1 */
{
"_id" : ObjectId("5e1e2a74d3c98f2a7100fd44"),
"date_new" : [
"abc",
"def",
""
]
}
/* 2 */
{
"_id" : ObjectId("5e1e2f25d3c98f2a7100fd45"),
"date_new" : []
}
/* 1 */
{
"_id" : ObjectId("5e1e2a74d3c98f2a7100fd44"),
"date_new" : {
"0" : "abc",
"1" : "def",
"2" : ""
}
}
/* 2 */
{
"_id" : ObjectId("5e1e2f25d3c98f2a7100fd45"),
"date_new" : {}
}
您能用json向我展示您的集合的输出吗?@theUnknown:请检查下面的答案,我有几个问题,
date\u new:[0:'',1:'']
,因此它必须是一个对象数组date\u new:[{0:'},{1:'}]
,或者是带有对象的数组,其元素如下所示。如果有空字符串,您所说的是什么意思?请将其转换为“
?”??我们正在转换数组,为什么会有空字符串?您是说date\u new
中的元素是空字符串吗?