我有一个23k行的csv文件。当我从shell使用mongoimport或从mongochef导入时,它以错误的顺序导入。
例如我有
a;b;c;(header)
1;1;1;
2;2;2;
3;3;3;
csv文件。当我从shell或mongochef导入它然后.find()时,结果是;
a|b|c
1;1;1;
3;3;3;
2;2;2;
任何帮助都会很棒。这是我的导入shell命令;
mongoimport -d local -c test --type csv --file "C:\Program Files\MongoDB\Example Datasets\abc.csv" --headerline --ignoreBlanks
答案 0 :(得分:2)
您可以尝试使用--maintainInsertionOrder选项。
正如文档所说:
如果指定,mongoimport按照其顺序插入文档 在输入源中出现,否则mongoimport可能会执行 以任意顺序插入
另请注意,find
默认排序是natural order,并不能保证按插入顺序返回结果。所以我通常做的是按_id
字段排序。