我想将文档保存到集合中。 每个用户最多有5个文件
{uid: 1, ad_id: 1}
{uid: 1, ad_id: 2}
{uid: 1, ad_id: 3}
{uid: 1, ad_id: 4}
{uid: 1, ad_id: 5}
{uid: 2, ad_id: 6}
{uid: 2, ad_id: 7}
{uid: 2, ad_id: 8}
{uid: 2, ad_id: 9}
{uid: 2, ad_id: 10}
现在我们有了一个新文档{uid: 1, ad_id: 11}
由于最大文档数为5,我们删除最旧的文档。
该系列成为了这个:
{uid: 1, ad_id: 11}
{uid: 1, ad_id: 1}
{uid: 1, ad_id: 2}
{uid: 1, ad_id: 3}
{uid: 1, ad_id: 4}
{uid: 2, ad_id: 6}
{uid: 2, ad_id: 7}
{uid: 2, ad_id: 8}
{uid: 2, ad_id: 9}
{uid: 2, ad_id: 10}
现在我检查代码中的数字。有没有mongo可以做到这一点的索引? 感谢。
答案 0 :(得分:0)
我不这么认为,你必须控制你的应用程序代码。
您可以仅使用唯一索引限制一个记录,但不能限制为N个文档。此外,新的保存将失败,而不是覆盖前一个。