我正在尝试使用pymongo在MongoDB文档上执行聚合。我也在使用PyCharm IDE
MongoDB version = 3.4.4
Pymongo version = 3.4.0
Python version = 3.5.2
我有一个集合: PlayerDetails,其文档如下所示:
{'jersey': '11',
'height': '6-1',
'displayName': 'Maurice Williams',
'lname': 'Williams',
'fname': 'Maurice',
'_id': ObjectId('590137b105488b49ace349ac'),
'team': 'IND'}
{'jersey': '12',
'height': '6-4',
'displayName': 'Tom Brady',
'lname': 'Brady',
'fname': 'Tom',
'_id': ObjectId('590137b105488b49ace34551'),
'team': 'NE'}
我正在编写python代码,以便通过团队连接两个文档。我有以下代码:
Database.py代码片段:
import pymongo
class Dbase:
def setupConnection(self):
uri = "mongodb://127.0.0.1:27017"
Mongoclient = pymongo.MongoClient(uri)
Mongoclient.drop_database('MongoProject')
database = Mongoclient['MongoProject']
return database
App.py代码片段:
import urllib.parse
import json
import pymongo
from Database import Dbase
def main():
Dbase_Obj = Dbase()
conn = Dbase_Obj.setupConnection()
collectionPlayerDetl = conn['PlayerDetails']
####select query using Join on both Player and Team details
collectionPlayerDetl.aggregate([
{
$lookup:{
from:'TeamDetails',
localField: "team",
foreignField: "code",
as:"team_descp"}
},
{
$project:{
"team_descp.id":0}
}
[![\]][1]][1])
在我尝试的两个查询中,我在$project和$lookup上都有一个语法错误--“预期语句,找到了BAD_CHARACTER”。
请帮帮忙。提前谢谢你。
发布于 2017-04-28 00:12:29
看来我们只需要加上引号-
collectionPlayerDetl.aggregate([
{
"$lookup": {
"from":'TeamDetails',
"localField": 'team',
"foreignField": 'code',
"as":'CombinedDetails'
}
}])
https://stackoverflow.com/questions/43646917
复制相似问题