使用 MongoEngineObjectType 使 ID 字段成为必需
Posted
技术标签:
【中文标题】使用 MongoEngineObjectType 使 ID 字段成为必需【英文标题】:make ID field required with MongoEngineObjectType 【发布时间】:2019-10-19 02:07:34 【问题描述】:我将石墨烯与石墨烯-mongo 一起使用。我的 graphql 架构的类型类似于:
type Report
id:ID!
name:String!
我的这种类型的石墨烯类是
class Product(MongoengineObjectType):
class Meta:
model = MongoProduct
mongoengine 类是
class MongoProduct(mng.DynamicDocument):
name = mng.fields.StringField(required=True)
如何使id
字段成为必填字段? GraphiQL 在name
旁边显示一个感叹号,但在id
旁边没有。
【问题讨论】:
【参考方案1】:class MongoProduct(mng.DynamicDocument):
id = ObjectIdField(primary_key=True, required=True) # Optional: Add default=bson.ObjectId
name = mng.fields.StringField(required=True)
id
也可以是 IntField 或 StringField,但我建议坚持使用 ObjectId
【讨论】:
以上是关于使用 MongoEngineObjectType 使 ID 字段成为必需的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)