我有一个post
文档,如下所示:
{
recipients: [{...}, {...}]
}
我正在运行一个查询(定期)检查{recipients.0: {$exists: true}}
以查看是否有任何收件人(如果有,我将帖子发送给他们并从阵列中删除)。
每个recipient
都是一个相对较大的文档,因此当我尝试在recipients.0
上添加索引时,我收到index key entry too large
错误。
那么对数组进行索引的最佳方法是什么?我是否应该更改查询以查找类似{recipients.0._id: {$exists: true}}
的内容并将_id
字段编入索引?另外,使用稀疏索引是否有益?
更新:再考虑一下,是否有可能创建一个不会真正考虑 in 数组的索引,只是数组是否为空?