当每个字段都包含一个数组时,mongodb 不允许在两个字段上创建索引的主要问题:
{a:[1,2], b: [8,9]}
正因为如此,我在尝试解决下一个问题时遇到了困难。
收藏说明
集合名称:项目
- 每个项目可以属于许多(数千)个文件夹
- 每个项目都可以被许多(数千)用户阅读。
当前集合结构(简化)
folderDataArr: [{
_id: 1,
dateOfAddingIntoFolder: 01.01.11
}, {
_id: 2,
dateOfAddingIntoFolder: 01.01.12
}],
userDataArr: [{
_id: 100,
isRead: true,
dateOfRead: 01.0.10
}, {
_id: 101,
isRead: true,
dateOfRead: 01.02.31
}]
查询构建
我需要重新格式化我的结构以进行有效的查询:
- 返回属于某些文件夹且未被特定用户读取的最后 N 个项目。并且结果应该按将该新闻添加到文件夹的日期排序(换句话说,按“dateOfAddingIntoFolder”字段)。
问题是
如何解决这个问题?
谢谢你的帮助。