2013-06-04 173 views
0

我有40,000行,我想插入到mongo数据库,但我不知道最好的办法做到这一点。如何在MongoDB中批量插入?

我会用命令行“蒙戈”,并将其粘贴(我一直在搞乱这个想法,它似乎并不像它是理想的)

是否有任何最优或最佳做法吗?我应该用mongoid而不是mongo来做吗?

+0

(如果不是你经常需要做的事情,我只是为你做最快的事情,例如mongoimport,mongoid等)。 – WiredPrairie

回答

1

呃。我在这里发布了一个答案,然后意识到有一个名为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给你很有用的信息。

+1

如果mongod正在运行,则不要使用--dbpath并使用--host --port选项。 –