Я выполняю следующую задачу в моей книге игр
- name: get system info
shell: uname -r
register: uname_out
- debug: var=uname_out
when: conn_out is success
- name: copy
copy:
content={{ uname_out.stdout_lines }} dest={{inventory_hostname}}.json
Я получаю вывод JSON, подобный этому
["rhel", "linux", "7", "basevesrion"]
Чтобы вставить эти данные в MongoDB, я пишу Сценарий выглядит следующим образом
import json
from pymongo import MongoClient
fileName = "data.json"
print(fileName)
client = MongoClient('10.*.*.*',27017)
db = client['test']
collection_cmdbFact = db['facts']
with open(fileName,'r') as data_file:
data_json = json.loads(data_file.read())
collection.insert_one(data_json)
client.close()
Я получаю эту ошибку
TypeError: документ должен быть экземпляром dict, bson.son.SON, bson.raw_bson.RawBSONDocument или тип, который наследуется от коллекций. MutableMapping
Может кто-нибудь сказать мне, как мне вставить эти данные?