我如何在MongoDb中实现以下要求:
我对MongoDb完全陌生,所以宝贝步骤赞赏!
答案 0 :(得分:3)
MongoDB旨在管理非结构化文档,因此当您的文档具有不同的结构时,MongoDB可能非常适合。但请记住,当您想要有效地查询文档时,它们应该有一组要查询的公共字段。
通过将所有相关关键字存储在每个文档的字符串数组中,可以轻松完成关键字标记。 MongoDB可以透明地查询数组。如果你有这样的文件:
{
somefield: "somevalue",
someotherfield: "somemothervalues",
tags: ["politics", "potato", "achieve world domination"]
}
您可以使用db.collection.find({tags:"potato"})
找到它。 MongoDB还可以透明地索引数组。使用db.collection.ensureIndex({tags:1})
创建索引时,即使您有许多包含许多不同关键字组合的文档,也会大大提高查询速度。
关于逻辑运算符:MongoDB有这些。请参阅$in(OR运算符),$all(数组的AND运算符)和$nin(多运算符的非运算符)
Full text search是一项目前标记为实验性的功能。您已经可以在开发中使用它,但不应该在生产中使用它。