MongoDB error processing document #2: invalid character ',' looking for beginning of value

打算把公司登陸系統現在還是直接使用數據庫進行查詢,今天打算把它優化一下換成 MongoDB 進行查詢,結果導入測試數據的時候一直報  Failed: error processing document #2: invalid character ',' looking for beginning of value  錯誤,搞了大半天才解決,它喵的。

[root@iZm5ec7pkk6xphure3pgf5Z bin]# ./mongoimport -h localhost:9085 -c gm_users -d api --mode upsert --file gm_user1.json 
2019-04-08T15:52:52.307+0800	connected to: localhost:9085
2019-04-08T15:52:52.307+0800	Failed: error processing document #2: invalid character ',' looking for beginning of value
2019-04-08T15:52:52.307+0800	imported 0 documents

提示我逗號??一看我這個沒問題,也是JSON格式呀,懵逼的一瞥。

{
	"user_id": "脫敏",
	"account": "脫敏",
	"password": "脫敏",
	"phone": "脫敏",
	"lock_status": "脫敏"
},
{
	"user_id": "脫敏脫敏",
	"account": "脫敏",
	"password": "脫敏",
	"phone": "脫敏",
	"lock_status": "脫敏"
}

然後我再 stackoverflow 看到可以使用 -vvvvv 確定報錯的位置。

[root@iZm5ec7pkk6xphure3pgf5Z bin]# ./mongoimport -h localhost:9085 -c gm_users -d api --mode upsert --file gm_user1.json -vvvvv
2019-04-08T16:01:46.285+0800	using upsert fields: [_id]
2019-04-08T16:01:46.285+0800	using 4 decoding workers
2019-04-08T16:01:46.285+0800	using 1 insert workers
2019-04-08T16:01:46.285+0800	filesize: 72218 bytes
2019-04-08T16:01:46.285+0800	using fields: 
2019-04-08T16:01:46.285+0800	will listen for SIGTERM, SIGINT, and SIGKILL
2019-04-08T16:01:46.288+0800	connected to: localhost:9085
2019-04-08T16:01:46.288+0800	ns: api.gm_users
2019-04-08T16:01:46.288+0800	connected to node type: standalone
2019-04-08T16:01:46.288+0800	standalone server: setting write concern w to 1
2019-04-08T16:01:46.288+0800	using write concern: w='1', j=false, fsync=false, wtimeout=0
2019-04-08T16:01:46.288+0800	standalone server: setting write concern w to 1
2019-04-08T16:01:46.288+0800	using write concern: w='1', j=false, fsync=false, wtimeout=0
2019-04-08T16:01:46.288+0800	Failed: error processing document #2: invalid character ',' looking for beginning of value
2019-04-08T16:01:46.288+0800	imported 0 documents

嗯,還是這個問題。而且我這個應該是第一個json就出問題了!

 

最後,找遍了百度,官方文檔(可能是我遺漏了)沒找到,最後的最後,忘記是在哪看到的了,就是因爲這個 , (逗號)的問題,它喵的,有了它就會報錯,然後用 UE 把這些 ,(逗號)刪除了(我是因爲數據量小才用的UE ,數據量大別用這玩意)

{
	"user_id": "脫敏",
	"account": "脫敏",
	"password": "脫敏",
	"phone": "脫敏",
	"lock_status": "脫敏"
},  《-------------------------------就是因爲這個逗號
{
	"user_id": "脫敏脫敏",
	"account": "脫敏",
	"password": "脫敏",
	"phone": "脫敏",
	"lock_status": "脫敏"
}

吶,變成這樣子就歐拉!!

{
	"user_id": "脫敏",
	"account": "脫敏",
	"password": "脫敏",
	"phone": "脫敏",
	"lock_status": "脫敏"
}
{
	"user_id": "脫敏脫敏",
	"account": "脫敏",
	"password": "脫敏",
	"phone": "脫敏",
	"lock_status": "脫敏"
}

然後再使用導入腳本執行一下

[root@iZm5ec7pkk6xphure3pgf5Z bin]# ./mongoimport -h localhost:9085 -c gm_users -d api --mode upsert --file gm_user1.json 
2019-04-08T16:15:31.715+0800	connected to: localhost:9085
2019-04-08T16:15:31.767+0800	imported 576 documents

歐拉,導出成功拉,它喵的。

 

 

附MongoDB官方文檔地址:https://docs.mongodb.com/manual/reference/program/mongoimport/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章