MongoDB Python Codio Добавить новый документ в коллекцию - PullRequest
0 голосов
/ 04 февраля 2019

Таким образом, я должен использовать Codio для создания файла Python, который создает новый документ для существующей коллекции MongoDB под названием «инспекции» в базе данных «город», но он не добавляет новый документ в коллекцию.

Нажмите здесь для изображения

import json
from bson import json_util
from pymongo import MongoClient

connection = MongoClient('localhost', 27017)
db = connection['city']
collection = db['inspections']

def insert_document(document):
    try:
        result=collection.save(document)
    except ValidationError as ve:
        abort(400, str(ve))
return result

def main():
    print "Hi"
    myDocument = { "id" : "0203-2019-ssp1",
               "certificate_number" : 5382334,
               "business_name" : "BUILDING TO SERVE INC.",
               "date" : "Jul 22 2015",
               "result" : "Violation Issued",
               "sector" : "Home Improvement Contractor - 100",
               "address" : [ "city" : "JAMAICA", "zip" : 11432, "street" : 
               "HILLSIDE AVE", "number" : 17939 ] }

    print insert_document(myDocument)

main()

Так я запустил файл Create.py в терминале Codio.

Нажмите здесь дляimage

После запуска Create.py я сделал db.inspections.find ({"id": "0203-2019-ssp1"}), но его там нет.

Нажмите сюда для изображения

1 Ответ

0 голосов
/ 04 февраля 2019

pymongo.collection.Collection.save является устаревшим методом в версии 3.0 и выше библиотеки pymongo 1

В идеале вы хотите использовать pymongo.collection.Collection.insert_one 2

def insert_document(document):
    try:
        result=collection.insert_one(document)
    except ValidationError as ve:
        abort(400, str(ve))
    return result
...