我想查询将_id
作为字符串而不是ObjectId的mongo对象。
def get_obj():
query = {}
contents = {
'UniqueId' : True,
'Name' : True,
'Address1' : True,
'id' : {
"$toString": "$_id"
}
}
return db.get_db().collection.find(query,contents)
以这种方式运行它时,得到以下输出:
pymongo.errors.OperationFailure: Unsupported projection option: id: { $toString: "$_id" }
答案 0 :(得分:0)
我认为您的问题是您正在使用aggregate
函数($toString
)而不进行汇总。
至少有两个选项:
str()
方法。cursor = list(get_obj())
print([str(doc['_id']) for doc in cursor])
def get_obj():
contents = [
{'$project': {
'_id': {'$toString': '$_id'},
# other desired fields
}}
]
return db.get_db().collection.aggregate(contents)
result = list(get_obj())
print([doc for doc in result])