云开发的aggregate聚合中,通过arrayElemAt获取到数组,怎么找到数组中的某个对象?

发布于 6 年前作者 chao871902 次浏览最后编辑 5 年前来自 ask
  var resData= await db.collection("demoping").aggregate().match({
    openid: 'ofibX5Qt8pL_sjqCTSbUcuBqLlhU'
  }).lookup({
    from'demonews',
    localField: 'nsid',
    foreignField: '_id',
    as:'titObj'
  }).project({    
    obj:$.arrayElemAt(['$titObj'0])
  }).sort({
   posttime:-1
  }).skip(3).limit(10).end()

project新字段处理中,想要找到$.arrayElemAt([‘$titObj’, 0])数组中的title属性。

1 回复
xiulan62
xiulan621 楼4 年前
var resData= await db.collection("demoping").aggregate().match({
    openid: 'ofibX5Qt8pL_sjqCTSbUcuBqLlhU'
  }).lookup({
    from: 'demonews',
    localField: 'nsid',
    foreignField: '_id',
    as:'titObj'
  }).addFields({
        obj:$.arrayElemAt(['$titObj'0])
    }).project({    
    objTitle:'$obj.title'
  }).sort({
   posttime:-1
  }).skip(3).limit(10).end()

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人