我使用以下代码将tab0011.json
插入portal_db.acs
中:
from pymongo import MongoClient
import json
client = MongoClient()
db = client.portal_db
db.acs.drop()
acs = db.acs
data_acs = json.load(open('/vagrant/data/tab0011.json', 'r'))
result_acs = acs.insert_many(data_acs)
代码已正确存储了tab0011.json数据。但是,我尝试使用以下代码将tab0011.json
插入portal_db.acs
并将tab0007.json
插入portal_db.tab0007
。这两个集合均已创建,但内部都没有,即为空:
from pymongo import MongoClient
import json
client = MongoClient()
db = client.portal_db
db.acs.drop()
acs = db.acs
db.tab0007.drop()
tab0007 = db.tab0007
data_acs = json.load(open('/vagrant/data/tab0011.json', 'r'))
data_tab0007 = json.load(open('/vagrant/data/tab0007.json', 'r'))
result_acs = acs.insert_many(data_acs)
result_tab0007 = tab0007.insert_many(data_tab0007)
不太清楚为什么。
答案 0 :(得分:1)
如果文件扩展名是.json
,我可以通过代码中使用的方法读取数据,并将其插入同一数据库的集合中。我可以看到我在两个集合中使用的数据
也许您可以尝试通过这种方式进行操作:
from pymongo import MongoClient
import json
client = MongoClient(host="localhost", port=27017)
db = client["portal_db"]
acs = db.get_collection("acs")
tab0007 = db.get_collection("tab0007")
db.drop_collection("acs")
db.drop_collection("tab0007")
data_acs = json.load(open('/vagrant/data/tab0011.json', 'r'))
data_tab0007 = json.load(open('/vagrant/data/tab0007.json', 'r'))
acs_inserts = acs.insert_many(data_acs)
tab_inserts = tab0007.insert_many(data_tab0007)
print(acs_insert.inserted_ids)
print(tab_inserts.inserted_ids)
最后两行将打印所插入文档的ObjectId。