所以我在阅读 Kyle 的书时遇到了他使用正则表达式匹配某些文本的示例:
db.reviews.find({
user_id: ObjectId("4c4b1476238d3b4dd5000001"),
text: /best|worst/i
})
但它没有示例文档,所以我无法想象他在此示例中使用的文档是如何构建的。那么您能否快速绘制一个上面的正则表达式适用于它的文档?据我所知,它当然有一个 _id 键和一个文本键,但是该文本键的值是什么样的?
谢谢。
所以我在阅读 Kyle 的书时遇到了他使用正则表达式匹配某些文本的示例:
db.reviews.find({
user_id: ObjectId("4c4b1476238d3b4dd5000001"),
text: /best|worst/i
})
但它没有示例文档,所以我无法想象他在此示例中使用的文档是如何构建的。那么您能否快速绘制一个上面的正则表达式适用于它的文档?据我所知,它当然有一个 _id 键和一个文本键,但是该文本键的值是什么样的?
谢谢。
想象一下这样的事情,在别处有一个用户集合,这是每个用户曾经写过的所有评论的集合。当您想要获取特定用户的所有评论时,您可以查询与该用户的 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!"
}