当isArchived为false时,MongoDB C#驱动程序唯一索引PartialFilterExpression

时间:2017-11-28 22:41:10

标签: c# mongodb

我有一些可以删除的项目。只要isArchivedfalse,我希望在名称上有唯一索引。我可以使用mongo命令行来完成它,但我似乎无法为C#驱动程序找到很多文档。目前我们有索引:

        await JobsCollection.Indexes.CreateOneAsync("{Name: 1}", new CreateIndexOptions
        {
            Unique = true
        });

我认为这会变得接近:

        await JobsCollection.Indexes.CreateOneAsync("{Name: 1}", new CreateIndexOptions<JobModel>
        {
            Unique = true,
            PartialFilterExpression = /*something here*/
        });

但我并不完全确定应该在这里采取什么措施?&#39;点。我可以像"{ IsArchived: { $eq : false } }"那样做一个字符串,还是有更好的方法?感谢。

1 个答案:

答案 0 :(得分:0)

嗯,完全可以把引用的东西放在那里。如果有人使用非硬编码方式,请分享。

await JobsCollection.Indexes.CreateOneAsync("{Name: 1}", new CreateIndexOptions<JobModel>
{
  Unique = true,
  PartialFilterExpression = "{ IsArchived: { $eq : true } }"
});