Problem source: http://stackoverflow.com/questions/29396985/is-there-a-where-like-relation-function-when-using-pymongo .
It is difficult to join MongoDB collections through hardcoding as it doesn’t directly support joins. Yet you can use esProc to perform inner join, left join and full join between collections or join the documents. Here is an example.
esProc code:
A1: Connect to MongoDB. The connection string format is mongo://ip:port/db?arg=value&…
A2, B2: Retrieve data from MongoDB using find function, sort it and create a cursor. A2’s cursor contains data from the left table that requires sorting by cat. In esProc find function, which is analogous to the combination of MongoDB find, sort and limitfunction, the filtering criterion syntax follows the MongoDB rules.
A3: Perform left join through the key field cat. @x means joining the two cursors. @1 means performing left join. The two options can work together.
A4: Retrieve desired field from A3. _1 and _2 respectively represent the two cursors under joining.
A5: Fetch data from the cursor as follows:
One point to note is that if A4 produces too much data to be loaded into memory, you can use export function to write it into a file.
No comments:
Post a Comment