【发布时间】:2015-05-25 13:29:54
【问题描述】:
我有一个与数据库相关的学校作业。出于技术原因,我们选择使用MongoDB and python 2.7 进行操作。我们考虑将这些数据放在数据库中。
data=[{"name":"zack","age": '12'},\
{"name":"jake","age": '13'},\
{"name":"drake","age": '14'},\
{"name":"mike","age": '15'}]
一旦我们将数据插入到集合中,我们当然想以循环的方式对孩子的年龄进行计算,所以我们运行了这个:
for kid in t.find({},{'_id':False,'name':False}):
print 5+int(kid)`
输出是
Traceback (most recent call last):
File "C:\...\school_project.py", line 17, in <module>
print 5+int(kid)
TypeError: int() argument must be a string or a number, not 'dict'
当我们尝试将字符串附加到孩子的名字上时,例如 "hello" + kid + "how are you?" 并最终得到:
Traceback (most recent call last):
File "C:\...\school_project.py", line 17,...
print "hello" + kid + "how are you?"
TypeError: cannot concatenate 'str' and 'dict' objects
我希望我的查询返回整数/字符串对象,而不是 dict。
所以我想,我们可能会以错误的方式查询,是否有一种“正确”的方式可以让我们使用我存储在数据库中的数据并将其插入到int\string 变量中?
还是 MongoDB 就是这样?
【问题讨论】:
-
MongoDB 的输出将采用 dict 格式,其中包含 name、age、id 作为键
-
你应该试试 print 5+int(kid["age"])
-
对于打印,您可以尝试 print "hello" + Kid["name"] + "how are you?"
-
是的,我知道,有没有办法在变量中使用“dict”字段中的值?或者也许有另一种查询方式?
-
好的,谢谢!
标签: python arrays mongodb find mongodb-query