[
{lecture : "427#Math"},
{lecture : "217#Science"},
{lecture : "7#History"},
{lecture : "12#Music"}
]
假设我有上面的数据库结构。我只想返回讲座代码。 到目前为止我做了什么?
db.collection.aggregate([
{$project: {"lecture": {$split: ["$lecture" , "#"]}}}
])
但这作为集合 ["427", "Math"]
返回。我怎样才能只返回 #
字符之前的讲座代码。
最佳答案
您可以使用 $arrayElemAt仅返回 $split
结果中的第一项:
db.collection.aggregate([
{$project: {"lecture": {$arrayElemAt:[{$split: ["$lecture" , "#"]}, 0]}}}
])
关于mongodb - $split 并返回 mongodb 查询中的第一个数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43605867/