Javascript 在mongoDB中查找/搜索性能
我在类似sql的数据库方面做了很多工作,但在nosql数据库方面,我的知识有限。在规划我的应用程序的设计时,我问自己,在数据库中查找条目和用于标识的参数时,是否存在差异 例如:为了避免重复,我想在使用Javascript 在mongoDB中查找/搜索性能,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我在类似sql的数据库方面做了很多工作,但在nosql数据库方面,我的知识有限。在规划我的应用程序的设计时,我问自己,在数据库中查找条目和用于标识的参数时,是否存在差异 例如:为了避免重复,我想在使用insertOne命令之前检查数据库中是否存在条目。在效率和速度方面,无论我使用\u id字段还是我在查询中定义的属性,都有什么区别吗?我认为这些收藏品最多只能收藏10000件物品 因为我可以在手动插入数据集时设置\u id字段,这可能会影响整体性能 与SQL数据库一样,您可以在MongoDB中添加
insertOne
命令之前检查数据库中是否存在条目。在效率和速度方面,无论我使用\u id
字段还是我在查询中定义的属性,都有什么区别吗?我认为这些收藏品最多只能收藏10000件物品
因为我可以在手动插入数据集时设置
\u id
字段,这可能会影响整体性能 与SQL数据库一样,您可以在MongoDB中添加任意字段。基于\u id
索引的读取与您自己的读取之间不应有明显差异
为了避免重复,我想在使用insertOne
命令之前检查数据库中是否存在条目
您应该查看一下处理这个用例的参数。它更新或插入文档(因此命名为up-sert)。有关详细信息,请参阅 在这方面,Mongodb与关系数据库没有任何区别。如果一个字段被索引,该字段的搜索/查找速度会很快。当我不使用另一个索引时,有什么区别吗?因此,我可能有两个选项:a)用我将用于比较的属性值覆盖
\u id
,或者b)在该属性上创建索引。如果没有索引,数据库必须执行集合扫描(即,它查看每个集合)。所以,是的,肯定有区别。