MongoDB的索引策略,以防止被删除的已删除记录

时间:2018-04-17 12:59:16

标签: mongodb indexing

在我的一个收藏中,我删除了标记为垃圾的记录:true,现在我只能索引未标记为垃圾的记录。我应该在这里使用什么索引策略。

 {
  "_id" : ObjectId("5ad5eb0b9590e413debd81d6"),
  "voucher" : ObjectId("5a731de8ffd6f75b1471742f"),
  "brand" : ObjectId("58e3b1e1b473f74462d6c9b2"),
  "code" : "6DZQ34KD",
  "purchaseDate" : ISODate("2018-04-17T12:39:39.287Z"),
  "owner" : ObjectId("5ac3460b8dd26664ab57cb66"),
  "isInWishlist" : true,
  "expiryDate" : ISODate("2018-04-30T20:59:59.000Z"),
  "isUsed" : false,
  "trash" : true,
  "updatedAt" : ISODate("2018-04-17T12:39:39.800Z"),
  "createdAt" : ISODate("2018-04-17T12:39:39.288Z"),
  "__v" : 0
 }

1 个答案:

答案 0 :(得分:1)

您可以创建partial index

E.g。使用"trash": false brand的{​​{1}}索引文档:

db.collection.createIndex(
   { brand: 1},
   { partialFilterExpression: { trash: false } }
)

请注意,没有trash字段的文档也将从索引中排除。