我有一个在 NodeJS 上运行的应用程序,并使用 MongoDB 作为信息数据库。
目前我通过 MongoJS 连接到 MongoDB模块,其目标是“尽可能模拟官方的mongodb API”。
应用程序获取大约 20,000 个对象并将每个对象保存到 MongoDB。首先,它查找数据库以查看该对象是否已存在,然后更新现有条目或添加新条目。
这可能会很慢。我不确定这是否是因为 MongoJS
是同步/单流(如果是的话 - 我不确定!),或者这只是向数据库写入大量条目的现实,但完成所有这些需要 45 分钟到 1 小时,我显然希望尽可能地减少这个时间。
我想知道是否 Mongoose将是一个更好/更快的选择。显然它是异步的,我不知道这是否会对性能产生影响。
最佳答案
First, it looks up the database to see whether the object already exists, then it either updates the existing entry or adds a new entry.
您可以让 mongodb 通过单个更新命令和“upsert”(更新/插入)选项集为您完成此操作:
http://docs.mongodb.org/manual/reference/method/db.collection.update/#db.collection.update
首先尝试一下,看看速度是否会加快。
关于node.js - NodeJS - Mongoose 比 MongoJS 更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17689833/