Можно ли добавить key:value
в указатель MongoDB?Как добавить ключ: значение к курсору MongoDB?
Я попытался это:
cursor = collection.find(query,projection)
cursor['my_message'] = "value here" # trying to add key:value here
Но это не похоже на работу (500).
Более контекст, это работает:
dbname = 'my_db'
db = connection[dbname]
collection = db.my_collection
query = {'key_1': my_var}
projection = {'key_2':1}
cursor = collection.find(query,projection)
response.content_type = 'application/json'
return dumps(cursor)
Это не:
dbname = 'my_db'
db = connection[dbname]
collection = db.my_collection
query = {'key_1': my_var}
projection = {'key_2':1}
cursor = collection.find(query,projection)
cursor['my_message'] = "value here" # trying to add key:value here
response.content_type = 'application/json'
return dumps(cursor)
Edit: И только визуализировать то, что возвращается успешно (без приложенного значения), это что-то вроде:
[{ document_1 },{ document_2 },{ document_3 }]
И я ожидаю этого смотреть что-то вроде:
["my_message":"value here",{ document_1 },{ document_2 },{ document_3 }]
Edit: Я попробовал следующее в качестве альтернативы, а также получил 500.
entries = []
cursor = collection.find(query,projection)
for entry in cursor:
entries.append(entry)
entries['my_message'] = "value here"
response.content_type = 'application/json'
return dumps(entries)
Почему бы просто не разбить его на 2: 'result = {my_message: 'значение здесь', data: cursor}'? – WiredPrairie
Это работает (с запятыми вокруг ключей), но это просто означает, что при итерации по массиву в интерфейсе вместо использования '. .ee (results ...', я использую '$ .each (results.data'. I 'd все еще интересно узнать, почему я не могу добавить прямо к курсору (что я предполагаю, это dict?). – user1063287
Записи - это список, а не хеш - поэтому он возвращает список, когда вы называете 'dumps 'Я предполагаю, что это не включило бы в список ключевое значение, которое вы положили на объект во время выполнения. – WiredPrairie