Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在mongoDB中查找/搜索性能_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript 在mongoDB中查找/搜索性能

Javascript 在mongoDB中查找/搜索性能,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我在类似sql的数据库方面做了很多工作,但在nosql数据库方面,我的知识有限。在规划我的应用程序的设计时,我问自己,在数据库中查找条目和用于标识的参数时,是否存在差异 例如:为了避免重复,我想在使用insertOne命令之前检查数据库中是否存在条目。在效率和速度方面,无论我使用\u id字段还是我在查询中定义的属性,都有什么区别吗?我认为这些收藏品最多只能收藏10000件物品 因为我可以在手动插入数据集时设置\u id字段,这可能会影响整体性能 与SQL数据库一样,您可以在MongoDB中添加

我在类似sql的数据库方面做了很多工作,但在nosql数据库方面,我的知识有限。在规划我的应用程序的设计时,我问自己,在数据库中查找条目和用于标识的参数时,是否存在差异

例如:为了避免重复,我想在使用
insertOne
命令之前检查数据库中是否存在条目。在效率和速度方面,无论我使用
\u id
字段还是我在查询中定义的属性,都有什么区别吗?我认为这些收藏品最多只能收藏10000件物品


因为我可以在手动插入数据集时设置
\u id
字段,这可能会影响整体性能

与SQL数据库一样,您可以在MongoDB中添加任意字段。基于
\u id
索引的读取与您自己的读取之间不应有明显差异

为了避免重复,我想在使用
insertOne
命令之前检查数据库中是否存在条目


您应该查看一下处理这个用例的参数。它更新或插入文档(因此命名为up-sert)。有关详细信息,请参阅

在这方面,Mongodb与关系数据库没有任何区别。如果一个字段被索引,该字段的搜索/查找速度会很快。当我不使用另一个索引时,有什么区别吗?因此,我可能有两个选项:a)用我将用于比较的属性值覆盖
\u id
,或者b)在该属性上创建索引。如果没有索引,数据库必须执行集合扫描(即,它查看每个集合)。所以,是的,肯定有区别。