我在db中有两个不同日期的对象:
{
"_id" : ObjectId("5addeaf92602ff20497e9406"),
"success" : true,
"timestamp" : 1524477784,
"base" : "EUR",
"date" : "2018-04-22",
"rates" : {
"AED" : 4.492662,
"ALL" : 128.39508,
"AMD" : 586.837094}
和第二个:
{
"_id" : ObjectId("5addb57d0043582d48ba898a"),
"success" : true,
"timestamp" : 1524477784,
"base" : "EUR",
"date" : "2018-04-23",
"rates" : {
"AED" : 4.492662,
"ALL" : 128.39508,
"AMD" : 586.837094}
我的python代码:
import pymongo
uri = "mongodb://127.0.0.1:27017"
client = pymongo.MongoClient(uri)
database = client['db']
collection = database['currency']
d=(*something I guess*)(input('Insert date: '))
item = collection.find_one({})
data= item['date']['d']
print(data)
我想要的是插入一天或特定日期,然后该程序将打印该特定日期信息。 在db中,日期是String,我认为我必须转换它。 提前谢谢。
答案 0 :(得分:1)
好吧,首先data= item['date']['d']
这不会有效,因为第二个[]
用于索引。在你的情况下,你要么输入与你的字符串日期相同的输入,要么将其转换为输入日期,然后检查它
要将字符串转换为日期,请执行以下操作:
from datetime import date
year, month, day = map(int, (d['date']).split("-"))
required_date = date(year, month, day)
print required_date
注意:假设我在d
,第二种情况:
以字符串的相同格式从用户那里获取输入,例如:
userinput = str(raw_input('Enter Date: in Format(year, month, day) with seprator "-" e.g: 2018-04-23 \n'))
if userinput == d['date']:
print 'Correct'
再次假设d
是您的mongo对象。
注意:强>
它可以用来表示你正在使用的情况,然后对它进行if
检查。
希望它对你有所帮助! :)