擅长:python、mysql、java
<p>聚合框架可以让您接近:</p>
<pre><code>>>> db.collection.insert({'tree_id': 'ABC123', 'serial_id': 1})
ObjectId('52b105e3ca1ce9bb42202f63')
>>> db.collection.insert({'tree_id': 'ABC123', 'serial_id': 2})
ObjectId('52b105e4ca1ce9bb42202f64')
>>> db.collection.insert({'tree_id': '2', 'serial_id': 1})
ObjectId('52b105f8ca1ce9bb42202f65')
>>> db.collection.aggregate([{
'$group': {
'_id': '$tree_id',
'serial_ids': {'$push': '$serial_id'}
}
}])
{u'ok': 1.0,
u'result': [{u'_id': u'2', u'serial_ids': [1]},
{u'_id': u'ABC123', u'serial_ids': [1, 2]}
]
}
</code></pre>
<p>从这里开始,用Python完成:</p>
<pre><code>dict([(row['_id'], row['serial_ids']) for row in result['result']])
</code></pre>