我有40,000行,我想插入到mongo数据库,但我不知道最好的办法做到这一点。如何在MongoDB中批量插入?
我会用命令行“蒙戈”,并将其粘贴(我一直在搞乱这个想法,它似乎并不像它是理想的)
是否有任何最优或最佳做法吗?我应该用mongoid而不是mongo来做吗?
我有40,000行,我想插入到mongo数据库,但我不知道最好的办法做到这一点。如何在MongoDB中批量插入?
我会用命令行“蒙戈”,并将其粘贴(我一直在搞乱这个想法,它似乎并不像它是理想的)
是否有任何最优或最佳做法吗?我应该用mongoid而不是mongo来做吗?
呃。我在这里发布了一个答案,然后意识到有一个名为mongoimport
的命令可以直接写入DB文件。
让我们假设你有JSON格式的数据,每行一个对象,像这样:
{"a":"a1"}
{"a":"a2"}
{"a":"a3"}
然后,您会怎么做:
mongoimport --dbpath PATH_TO_YOUR_DB_DIR -d DB_NAME -c COLLECTION_NAME --file JSON_FILE_NAME
采用dbpath
需要锁定数据目录,因此如果mongod当前正在访问相同的路径,则不能使用它。 mongoimport --help
给你很有用的信息。
如果mongod正在运行,则不要使用--dbpath并使用--host --port选项。 –
(如果不是你经常需要做的事情,我只是为你做最快的事情,例如mongoimport,mongoid等)。 – WiredPrairie