从一组对象id中获取objectid

时间:2015-05-09 03:45:51

标签: python python-2.7 pymongo

我试图在mongodb中循环一组目标。

SELECT  rname,
        MIN(ename) ename1,
        MAX(ename) ename2
FROM relationships
GROUP BY rname

产生一组id:

print agent_ids

以下循环:

...ObjectId('542de00c763f4a7f558be133'), ObjectId('542de00c763f4a7f558be130'), ObjectId('542de00c763f4a7f558be131')])

的产率:

for agent_id in agent_ids:
    print agent_id

如何从循环中获取... 542de00c763f4a7f558be133 542de00c763f4a7f558be130 542de00c763f4a7f558be131 以包含agent_id

1 个答案:

答案 0 :(得分:0)

使用repr()功能:

for agent_id in agent_ids:
    print repr(agent_id)

将返回

ObjectId('542de00c763f4a7f558be133')
ObjectId('542de00c763f4a7f558be130')
ObjectId('542de00c763f4a7f558be131')

这个工作的原因是因为默认情况下在打印列表中的每个元素时,实例将在打印之前转换为其字符串表示形式 - 当您调用repr函数时,将打印自定义表示:

根据文档:

  

类可以通过定义 repr ()方法来控制此函数为其实例返回的内容。

在原始示例中打印列表时,它会对列表中的每个元素使用repr表示,因此我们需要模仿该行为。