javascript - 在 Mongoose 中填充数组的最后一个元素
问题描述
我有一个包含数组字段 ( "array"
) 的集合,它存储引用另一个集合的 _ids。我正在使用猫鼬.populate
,并且可以使用字符串点表示法填充特定的数组元素,例如
.populate({path: "array.4"})
但我现在想填充数组的最后一个元素。在一个理想的世界里,"array.-1"
它会起作用,但它不会。我尝试过使用 populate 的match
属性,例如:
.populate({
path: "array",
match: {
$arrayElemAt: {
$subtract: [
{
$size: "array"
},
1
]
}
},
})
但这也不起作用(而且我认为它根本不应该被使用!)
有什么办法可以做到这一点?
解决方案
尝试这个。
User.find({},{"arrayObject": {$slice: -1})
.populate('arrayObject')
推荐阅读
- asp.net-mvc - 在 ASP.NET MVC 中将 ViewModel 与多个模型一起使用
- java - 如何使 Environment.getExternalStoragePublicDirectory() 创建到 SD 卡的路径,而不是 emulated/0 内部存储器?
- python - Twython - 获取最新的直接消息
- c# - .NET Core 2.x Identity int 外键无法定位 int 主键
- json - Ngx-json-viewer 是否所有 json 字段都已折叠或没有?
- python - Django 查询返回最多 3 个总和最高的字段名称
- angular - Typescript嵌套接口抛出错误
- python - 如何填写未知大小的熊猫数据框
- visual-studio - MFC 对话框类向导 - 尝试在单独的包含和 src 目录中生成类
- c# - 将文本块绑定到 XAML 中的字典在按键绑定时不显示值