首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >明_id怎么找?

明_id怎么找?
EN

Stack Overflow用户
提问于 2013-07-15 23:14:38
回答 1查看 420关注 0票数 2

我在中有一个映射类

代码语言:javascript
复制
from ming import Session, create_datastore
from ming import schema
from ming.odm import ODMSession
from ming.odm.mapper import MapperExtension
from ming.odm.property import ForeignIdProperty
from ming.odm.property import FieldProperty, RelationProperty
from ming.odm.declarative import MappedClass
import config

bind = create_datastore(config.DATABASE_NAME)
session = Session(bind)
odm_session = ODMSession(doc_session=session)


class Document(MappedClass):

    class __mongometa__:
        session = odm_session
        name = 'document'

    _id = FieldProperty(schema.ObjectId)

现在,我想对它做一个简单的查询

Document.query.get(_id="51e46f782b5f9411144f0efe")

但不起作用。文档对此并不十分清楚。我知道在mongodb中,我们必须将id包装在ObjectId对象中,但我无法让它在Python中工作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 00:45:39

您应该使用ObjectId进行查询。

代码语言:javascript
复制
from bson.objectid import ObjectId
Document.query.get(_id=ObjectId('51e46f782b5f9411144f0efe'))

赤裸的芒果

代码语言:javascript
复制
from bson.objectid import ObjectId
from pymongo import Connection
connection = Connection()
db = connection['lenin']
collection = db.document
collection.find_one({'_id': '51e35ee82e3817732b7bf3c1'}) # returns None
collection.find_one({'_id': ObjectId('51e35ee82e3817732b7bf3c1')}) # returns the object
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17665480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档