比如API文档中的
Aggregate.lookup(object: Object): Aggregate
里的
组合 mergeObjects 应用相等匹配
的示例
var db = cloud.database()
var $ = db.command.aggregate
db.collection('orders').aggregate()
.lookup({
from: "books",
localField: "book",
foreignField: "title",
as: "bookList"
})
.replaceRoot({
newRoot: $.mergeObjects([ $.arrayElemAt(['$bookList', 0]), '$$ROOT' ])
})
.project({
bookList: 0
})
.end()
.then(res => console.log(res))
.catch(err => console.error(err))
其中
newRoot:$.mergeObjects([$.arrayElemAt(['$booklist',0]),'$$ROOT'])
这一行中'$booklist'和'$$ROOT'分别都是什么用法,这里的$是什么取值方式,取的是什么值?求大佬解答
想搞懂这个,建议这样操作:
1、只含lookup看结果;
2、加上replaceRoot看结果;
3、加上project看结果;
https://developers.weixin.qq.com/community/develop/doc/000280f83f81707c460ab0fcb5b800