2

コード:

class Users(db.Document, UserMixin):
    first_name = db.StringField()
    last_name = db.StringField()
    username = db.StringField(unique=True)
    password = db.StringField()
    email = db.StringField()
    following = db.ListField(db.StringField(), default=[])
    role = db.ListField(db.StringField(), default=["user"])
    confirmed = db.BooleanField(default=False)
    confirmed_on = db.DateTimeField()

Users.followingフィールドから特定の文字列を削除したい場合

Users.objects(username="some_user").update(pull__following=["some_string"]) そしてそれを保存しますか?

私はこれを試しましたが、文字列をfollowing listField

4

1 に答える 1

6

リストから 1 つの要素を削除する場合は、リストではなく単一の値を取る修飾子を使用する必要がありますpull。正しいクエリは次のとおりです。

Users.objects(username='some_user').update(pull__following='some_string')

pull_all修飾子を使用して、「次の」リストからいくつかの要素を削除することもできます。この場合、値のリストを渡します。

Users.objects(username='some_user').update(pull_all__following=['one_string', 'another_string'])
于 2015-12-22T07:11:53.543 に答える