1

我々は以下のようにそれを設計することができます。デザインジャンゴMongoDBのエンジンの外部キーリスト

# Model and its field 
class Group(models.Model): 
    members = ListField(models.ForeignKey(User)) 

# Query 
Group.objects.raw_query({'members': ObjectId(request.user.id)}) 

1は、上記にMongoDBのIDリストとしてフィールド「メンバー」を格納しますmongodb。 "members" : [ ObjectId("4e46434741b6994c70000000") ]

のように我々はまた、文字列としてMongoDBのIDを保存することができます

# Model and its field 
class Group(models.Model): 
    members = ListField(models.CharField(max_length=24)) 

# Query 
Group.objects.filter(members=request.user.id) 

1は、上記のMongoDBの文字列リストとしてフィールド「メンバー」を格納します。 Like "members" : [ "4e46434741b6994c70000000" ]

私の質問は、mongodbクエリの方が効率的です。

答えて

2

外国キーが反発します。あなたが指しているモデルは、objectidを_idとして使用するので、リレーションを文字列として格納することで、リスト内の各項目の文字列からobjectIdに変換する必要があります。

関連する問題