Как автоматически хранить введенное время в mongoDB? - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь автоматически сохранить время вставки в mongodb, так как 'created_on' : new Date(), ниже - это объект JSON, но возникает ошибка, есть ли способ, которым это можно сделать? Пожалуйста, предоставьте руководство

data = {
    "orgRadar" : 36353275,
    'created_on' : new Date(),
    "clonedRadars" : [ 
        {
            "clonedRadar" : 39851508,
            "clonedStatus" : "PASS",
            "clonedStatusfailReason" : "N/A",
            "updateStatus" : "PASS",
            "updatedFailedReason" : "N/A"
        }, 
        {
            "clonedRadar" : 39394842,
            "clonedStatus" : "PASS",
            "clonedStatusfailReason" : "N/A",
            "updateStatus" : "FAIL",
            "updatedFailedReason" : "Category Required"
        }
    ]
}

Ошибка:

  File "mongodb_insertdata.py", line 39
    'created_on' : new Date(),
                          ^
SyntaxError: invalid syntax

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Я предполагаю, что вы пишете на Python с учетом тега и небольшого количества копий стека, которые вы скопировали. new Date() не будет работать в Python, так как это JavaScript:

Python 2.7.10 (default, Feb  7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> new Date()
  File "<stdin>", line 1
    new Date()
           ^
SyntaxError: invalid syntax
>>>

Вы, вероятно, должны использовать что-то вроде:

import datetime

data = {
    "orgRadar" : 36353275,
    "created_on" : datetime.datetime.utcnow(),
    "clonedRadars" : [ 
        {
            "clonedRadar" : 39851508,
            "clonedStatus" : "PASS",
            "clonedStatusfailReason" : "N/A",
            "updateStatus" : "PASS",
            "updatedFailedReason" : "N/A"
        }, 
        {
            "clonedRadar" : 39394842,
            "clonedStatus" : "PASS",
            "clonedStatusfailReason" : "N/A",
            "updateStatus" : "FAIL",
            "updatedFailedReason" : "Category Required"
        }
    ]
}

Если вы используете Python, вам следует обратиться к документации PyMongo вместо документации MongoDB, поскольку она будет соответствовать вашим языковым привязкам. Примеры и информация PyMongo datetime можно найти здесь .

0 голосов
/ 01 мая 2018

Вы можете попробовать $currentDate, так как он соответствует вашему типу, который Date.

Вы можете узнать больше из документации здесь https://docs.mongodb.com/manual/reference/operator/update/currentDate/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...