调用API传参时的$是什么,都有哪些用法?
发布于 6 年前 作者 yan13 3057 次浏览 来自 官方Issues

比如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 回复

想搞懂这个,建议这样操作:

1、只含lookup看结果;

2、加上replaceRoot看结果;

3、加上project看结果;

回到顶部