-1

所以我在阅读 Kyle 的书时遇到了他使用正则表达式匹配某些文本的示例:

db.reviews.find({
    user_id: ObjectId("4c4b1476238d3b4dd5000001"),
    text: /best|worst/i
})

但它没有示例文档,所以我无法想象他在此示例中使用的文档是如何构建的。那么您能否快速绘制一个上面的正则表达式适用于它的文档?据我所知,它当然有一个 _id 键和一个文本键,但是该文本键的值是什么样的?

谢谢。

4

1 回答 1

1

想象一下这样的事情,在别处有一个用户集合,这是每个用户曾经写过的所有评论的集合。当您想要获取特定用户的所有评论时,您可以查询与该用户的 id 匹配的所有评论 - 这就是 user_id 部分。现在您决定只想要包含“最佳”或“最差”一词的评论(无论大小写如何)。这是查询的第二部分。

假设下面的三个文档都有匹配的 user_id,那么第一个和第三个将匹配文本查询,但中间一个不会。

{
   user_id: ObjectId(),
   text : "This was the worst one of my life!"
}

{

   user_id: ObjectId(),
   text : "Totally awesome, couldn't be better!"
}

{
   user_id: ObjectId(),
   text : "BEST EVAH!"
}
于 2012-06-03T05:46:55.657 回答