我尝试使用mongoimport命令导入json文档,并尝试了所有可能的方法,但它给出的误差低于此值。 Plz告诉我,我在这里做错了什么。我已经给出了json doc的完整路径。我想要导入包含800多条记录的大文档,但因为它失败了所以目前我的students.json包含简单的一行{name:" Archana"}但即使这样也失败了。
C:\data\db>mongo
2016-02-02T17:48:44.788+0530 I CONTROL [main] Hotfix KB2731284 or later update is installed, no need to zero-out data
MongoDB shell version: 3.2.1
connecting to: test
> show collections
names
students
> mondoimport -d test -c students students.json
2016-02-02T17:50:21.001+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < students.json
2016-02-02T17:50:25.840+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < file students.json
2016-02-02T17:50:31.233+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < f students.json
2016-02-02T17:50:35.417+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < f C:\data\db\students.json
2016-02-02T17:50:51.658+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < f "C:\data\db\students.json"
2016-02-02T17:50:56.897+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students C:\data\db\students.json
2016-02-02T17:51:06.849+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -db test -c students C:\data\db\students.json
2016-02-02T17:54:33.545+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:16
> mondoimport --db test --collection students C:\data\db\students.json
2016-02-02T17:56:24.253+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:14
> mondoimport --db test --collection students --file C:\data\db\students.json
2016-02-02T17:56:33.589+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:14
> mondoimport --db test --collection students --file C:\data\db\students.json --jsonArray
2016-02-02T17:58:21.131+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:14
> mondoimport --db test --collection students C:\data\db\students.json --jsonArray
2016-02-02T17:58:32.650+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:14
答案 0 :(得分:35)
您可能正在mongo shell下运行此命令。正如您在路径mongo shell(mongo)
中看到的那样,在mongod下没有mongoimport命令。因此,为了解决问题,请将cmd提示符导航到该文件,而不使用 a = cars.zip(rate)
Foo.find(1).update_attributes(bar: Hash[a])
在cmd提示符下运行该命令。
答案 1 :(得分:6)
我试图从mongo shell使用mongoimport。所以答案是“mongoimport是不同的实用程序”所以如果你想使用mongoimport然后在使用“mongod”启动mongo服务器后,使用需要启动不同的cmd并转到C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin或它应该在你的路径,然后你需要运行“mongoimport”命令。如果你从“mongo”shell开始使用“mongoimport”,那么它将无效。
答案 2 :(得分:5)
mongoimport是不同的实用程序,因此请使用不同的命令提示符。
答案 3 :(得分:4)
以给定的方式尝试以下步骤:
步骤1。在新的命令提示符下,cd到mongo的bin目录的位置。 例如:
cd c:\MongoDB\bin
第二步。运行以下命令:
mongoimport --db test --collection restaurants --file location/of/jsonfile
答案 4 :(得分:3)
试试这样。复制文本文档中的此代码,并使用.sh扩展名保存。将这两个文件放在桌面上并在终端
中执行.sh文件mongoimport --db test --collection students --file students.json
答案 5 :(得分:3)
您好,您需要做以下事情:
C:/Users/DEEPU/students.json
cd
命令转到该目录。mongoimport --drop -d students -c grades grades.json
单击下面的link以查看其是否有效。
答案 6 :(得分:0)
bin&gt; mongoexport -d databasename -c collectionName -o export.json
答案 7 :(得分:0)
同样适用于from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
src = ['facebook', 'google', 'amazon','facebook','facebook','google']
year = [2014,2014,2013,2013,2012,2013]
country = ['uk','ru','de','us','uk','us']
avg = [154,267,187,312,274,439]
colors = {'uk' : 'b',
'de' : 'y',
'ru' : 'r',
'us' : 'c'}
unique_src, idx_src = np.unique(src, return_inverse=True)
unique_cty, idx_cty = np.unique(country, return_inverse=True)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
c = [colors[val] for val in country]
ax.scatter(idx_src, idx_cty, year, s=avg, c=c)
plt.yticks(range(len(unique_cty)), unique_cty, rotation=340)
plt.xticks(range(len(unique_src)), unique_src, rotation=45, horizontalalignment='right')
ax.set_zticks(np.unique(year))
plt.show()
。如果需要还原db或其架构,则需要转到.zip文件所在的路径,然后运行mongorestore命令。 mongorestore
答案 8 :(得分:0)
如果您使用的是Windows计算机,请打开新的命令提示符,然后尝试执行以下操作:
mongoimport.exe -h localhost:27017 -d sampleTestDB -c testc -u "" -p "" D:\mongoSample.json
注意:如果您未设置PATH,请先设置路径,然后尝试此操作。
如何设置路径?
==>在“环境变量”中,选择“路径”,然后单击“编辑”,复制mongodb安装路径,如下所示并保存
C:\Program Files\MongoDB\Server\3.4\bin
答案 9 :(得分:0)
我在Ubuntu 16.04上也遇到了同样的问题。我误解了,我在MongoDB shell中运行。 mongoimport是实用工具。您只需要打开新终端并在mongodb shell内而不是运行mongoimport命令。
mongoimport --db <dbname> --collection zips --drop --file <location of file>
答案 10 :(得分:0)
我也在Windows 10中做同样的错误。 是的,mongoimport应该在mongo shell之外执行。
请检查mongo安装路径,直到bin在系统路径中,否则将引发错误。 然后从命令窗口(不是mongo shell)执行下面的命令
mongoimport --db testdb --collection mytable --file "D:\Emp.json"
答案 11 :(得分:0)
首先,在我的情况下,导航到系统中mongoexport.exe所在的文件夹( C:\ Program Files \ MongoDB \ Server \ 4.0 \ bin )。现在,在cmd终端而不是mongo shell上执行mongoimport命令。 mongoimport命令不应在mongo shell上执行。
执行:
value =
在linux中:
C:\Program Files\MongoDB\Server\4.0\bin>mongoimport --db project --collection users --file data.json
这里的data.json文件位于mongoimport所在的相同目录中,否则我们必须为该文件提供路径/位置。
答案 12 :(得分:0)
您似乎试图在 mongod cmd 之后运行 cmd。
> sudo mongoexport --db envyd -c users --out /var/www/api/dump_beta/users.json
2021-05-05T09:09:18.779+0000 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:5
从文件夹中像这样使用
ubuntu@ip-172-11-11-186:~$ sudo mongoexport --db envyd -c users --out /var/www/api/dump_beta/users.json
2021-05-05T09:11:01.059+0000 connected to: localhost