举个例子:
>>> class Doc(Document):
... foo = StringField()
... bar = StringField()
如果我想要“bar”字段:
>>> Doc(foo='foo', bar='bar').save()
>>> Doc.objects.only('bar').to_json()
'[{"bar": "bar"}]'
如果我想要“id”字段和“bar”:
>>> Doc.objects.only('id', 'bar').to_json()
'[{"bar": "bar"}]'
这是故意还是错误?
BTW,我提到as_pymongo
因为to_json使用它。
编辑:删除了一个无用的问题。
答案 0 :(得分:0)
尝试在'id'上使用'_id'。
背景:MongoDb调用它的内部“主键”“_id”以避免命名空间冲突(例如,你可以有一个名为“id”的字段)并表示它是一个mongodb内部...一些ORMS使用mongo_id用于直接访问该“_id”项。但是,是的,这是为了避免名称空间问题与非常常见的字段名称“id”。在您的查询的上下文中,您正在进行文字mongodb调用,因此它需要是'_id',因为它是它的真实姓名。
编辑..