моя структура базы данных в mongodb имеет вид
{
"_id" : ObjectId("5e9fef05c0228a50befba0d7"),
"name" : "sanghm",
"id" : "3456",
"dep" : {
"dep1" : "ops",
"dep2" : "analytics"
},
"data" : [
{
"date" : "25-apr-2020",
"log" : [
{
"machine" : "windows-user1",
"task" : "excel",
"time": "10:00am"
}
{
"machine" : "windows-user1",
"task" : "email",
"time": "11:00am"
}
]
}
]
}
Я хочу написать сценарий python, который продолжает добавлять данные в базу данных, поэтому для пользовательских данных> дата> массив журналов продолжайте добавлять новая запись для каждого пользовательского действия. В оболочке mongodb я могу написать запрос как
db.inventory.update({id:3456},{$push:{'data.$[t].log':{machine:'windows-user1',task:'personal', time:'12:30pm'}}},{arrayFilters:[{"t.date":'25-apr-2020'}]})
, этот запрос работает в оболочке mongodb, но то же самое я хочу отправить через скрипт python для обновления / добавления в журнал ». Я попытался запрос с помощью библиотеки Pymon go, но он дает ошибку
myclient= myclient()
db=myclient['example']
collecton = db['inventory']
recieved = collection.update_one({id:3456},{$push:{'data.$[t].log':{machine:'windows-user1',task:'personal', time:'12:30pm'}}},{arrayFilters:[{"t.date":'25-apr-2020'}]})
любое решение !!! пожалуйста