db.test.aggregate({
$match : { "themType" : "SuperTest" , "mType" : { "$in" : [ 1 , 2]}}
},
{ $project : { "_id" : 1, "refTestId" : 1, "avatar" : { $concat : [$refTestId] }
} });
和avatar返回null,可能是因为它的objectId,是否可以在此查询中使用此objectId字符串?
答案 0 :(得分:2)
从MongoDB 4.0及更高版本开始,有一个$toString
运算符,它以十六进制字符串形式返回ObjectId
值:
db.test.aggregate([
{ "$match": {
"themType": "SuperTest",
"mType": { "$in" : [1 , 2] }
} },
{ "$addFields": {
"avatar": { "$toString": "$refTestId" }
} }
])
或使用$convert
db.test.aggregate([
{ "$match": {
"themType": "SuperTest",
"mType": { "$in" : [1 , 2] }
} },
{ "$addFields": {
"avatar": {
"$convert": { "input": "$refTestId", "to": "string" }
}
} }
])
答案 1 :(得分:0)
这还不可能。 WiP问题请参阅:https://jira.mongodb.org/browse/SERVER-29512