MongoDB C#驱动程序预测$ elemMatch $

我正在尝试将此查询从基于文本的filter转换为基于表达式。 查询部分没问题,但是我遇到了投影"state.transfer.attempts.$": 1麻烦。

什么是Project $表达式等价物?

提前致谢

 db.Items.find({ "state.transfer.attempts": { "$elemMatch": { "entityId": 1, "state" : "failed" } } }, { "state.transfer.attempts.$": 1 }) 

根据这篇博客文章 ,位置运算符是通过寻址第-1th元素来实现的:

Builders.Projection.Include(state => state.transfer.attempts[-1])

要么

Builders.Projection.Include(state => state.transfer.attempts.ElementAt(-1));

在这个SO答案中提到了相同的解决方案。

我试图在文档中找到这种行为的参考,但没有运气。