質問編集履歴

1

状況補足しました。

2020/01/06 07:31

投稿

Otazoman
Otazoman

スコア44

test CHANGED
File without changes
test CHANGED
@@ -18,9 +18,9 @@
18
18
 
19
19
  ```
20
20
 
21
- ['Traceback (most recent call last):\n', ' File "mongo_operate.py", line 62, in find_mongo\n for doc in find:\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1156, in next\n if len(self.__data) or self._refresh():\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1073, in _refresh\n self.__send_message(q)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 955, in __send_message\n address=self.__address)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1347, in _run_operation_with_response\n exhaust=exhaust)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1465, in _retryable_read\n return func(session, server, sock_info, slave_ok)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1341, in _cmd\n unpack_res)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/server.py", line 136, in run_operation_with_response\n _check_command_response(first)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/helpers.py", line 159, in _check_command_response\n raise OperationFailure(msg % errmsg, code, response)\n', 'pymongo.errors.OperationFailure: Unsupported projection option: date_column: { $lt: new Date(1574044980343) }\n']
21
+ ['Traceback (most recent call last):\n', ' File "mongo_operate.py", line 72, in find_mongo\n for doc in find:\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1156, in next\n if len(self.__data) or self._refresh():\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1073, in _refresh\n self.__send_message(q)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 955, in __send_message\n address=self.__address)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1347, in _run_operation_with_response\n exhaust=exhaust)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1465, in _retryable_read\n return func(session, server, sock_info, slave_ok)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1341, in _cmd\n unpack_res)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/server.py", line 136, in run_operation_with_response\n _check_command_response(first)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/helpers.py", line 159, in _check_command_response\n raise OperationFailure(msg % errmsg, code, response)\n', 'pymongo.errors.OperationFailure: >1 field in obj: { $gte: new Date(1573430400000), $lt: new Date(1574042400000) }\n']
22
22
 
23
- [' File "mongo_operate.py", line 62, in find_mongo\n for doc in find:\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1156, in next\n if len(self.__data) or self._refresh():\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1073, in _refresh\n self.__send_message(q)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 955, in __send_message\n address=self.__address)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1347, in _run_operation_with_response\n exhaust=exhaust)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1465, in _retryable_read\n return func(session, server, sock_info, slave_ok)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1341, in _cmd\n unpack_res)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/server.py", line 136, in run_operation_with_response\n _check_command_response(first)\n', ' File "/home/testuser/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/helpers.py", line 159, in _check_command_response\n raise OperationFailure(msg % errmsg, code, response)\n']
23
+ [' File "mongo_operate.py", line 72, in find_mongo\n for doc in find:\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1156, in next\n if len(self.__data) or self._refresh():\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 1073, in _refresh\n self.__send_message(q)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/cursor.py", line 955, in __send_message\n address=self.__address)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1347, in _run_operation_with_response\n exhaust=exhaust)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1465, in _retryable_read\n return func(session, server, sock_info, slave_ok)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1341, in _cmd\n unpack_res)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/server.py", line 136, in run_operation_with_response\n _check_command_response(first)\n', ' File "/home/user/.pyenv/versions/3.7.5/lib/python3.7/site-packages/pymongo/helpers.py", line 159, in _check_command_response\n raise OperationFailure(msg % errmsg, code, response)\n']
24
24
 
25
25
  ```
26
26
 
@@ -58,11 +58,9 @@
58
58
 
59
59
  td = datetime.timedelta(hours=-1)
60
60
 
61
- #start = datetime.datetime.now(tz) + td
61
+ start = datetime.datetime(2019, 11, 11, 0, tzinfo=tz)
62
62
 
63
- start = datetime.datetime(2019, 11, 18, 2, 43, 0,343000 , tz)
63
+ end = datetime.datetime(2019, 11, 18, 2, tzinfo=tz)
64
-
65
- end = datetime.datetime.now(tz)
66
64
 
67
65
 
68
66
 
@@ -74,7 +72,7 @@
74
72
 
75
73
  find = mongo.find({'date_column':{'$lt':start}},{'_id':0})
76
74
 
77
- #find = mongo.find({'date_column':{'$gte':start,'$lt':end}},{'_id':0})
75
+ find = mongo.find({'date_column':{'$gte': start,'$lt': end}},{'_id':0})
78
76
 
79
77
  #find = mongo.find({'date_column':{'$lt':start.isoformat()}},{'_id':0})
80
78
 
@@ -144,15 +142,19 @@
144
142
 
145
143
  ・pythonのプログラム上からは条件を指定しないfindでは問題なくデータ抽出できます。
146
144
 
147
- また日付時刻型以外の項目でデータを抽出することができました。
145
+ ・日付時刻型以外の項目に条件を指定した場合データを抽出することができました。
148
146
 
149
- ・以下の通り書いてみてもエラーとなり結果を抽出できませんでした。
147
+ 日付については以下の通り書いてみてもエラーとなり結果を抽出できませんでした。
148
+
149
+ ```
150
150
 
151
151
   find = mongo.find({'date_column':{'$lt':start.isoformat()}},{'_id':0})
152
152
 
153
+ ```
153
154
 
154
155
 
156
+
155
- mongodbのコンソール上で以下の様にコマンドを叩くとデータは抽出されており
157
+ mongodbのコンソール上で以下の様にコマンドを叩くとデータは抽出できした
156
158
 
157
159
  ```
158
160
 
@@ -160,6 +162,24 @@
160
162
 
161
163
  ```
162
164
 
165
+
166
+
167
+ startとendの出力結果でいずれもdatetime.datetimeとして認識はされているようです。
168
+
169
+ ```
170
+
171
+ <class 'datetime.datetime'>
172
+
173
+ 2019-11-11 00:00:00+00:00
174
+
175
+ <class 'datetime.datetime'>
176
+
177
+ 2019-11-18 02:00:00+00:00
178
+
179
+ ```
180
+
181
+
182
+
163
183
  ### 補足情報(FW/ツールのバージョンなど)
164
184
 
165
185
  python 3.7.5