MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để thực hiện cập nhật nguyên tử trên tài liệu nhúng trong ListField trong MongoEngine?

Bạn có thể sử dụng toán tử vị trí để cập nhật tài liệu nhúng phù hợp.

Đây là ví dụ từ các bài kiểm tra (https://github.com/MongoEngine/mongoengine/blob/master/tests/test_queryset.py#L313)

def test_update_using_positional_operator(self):
    """Ensure that the list fields can be updated using the positional
    operator."""

    class Comment(EmbeddedDocument):
        by = StringField()
        votes = IntField()

    class BlogPost(Document):
        title = StringField()
        comments = ListField(EmbeddedDocumentField(Comment))

    BlogPost.drop_collection()

    c1 = Comment(by="joe", votes=3)
    c2 = Comment(by="jane", votes=7)

    BlogPost(title="ABC", comments=[c1, c2]).save()

    BlogPost.objects(comments__by="jane").update(inc__comments__S__votes=1)

    post = BlogPost.objects.first()
    self.assertEquals(post.comments[1].by, 'jane')
    self.assertEquals(post.comments[1].votes, 8)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Trả về mục mảng theo chỉ mục trong mẫu thanh khoảng cách sao băng

  2. Mongodb:Thực hiện truy vấn Phạm vi ngày từ ObjectId trong trình bao mongo

  3. Hướng dẫn về MongoDB với Java

  4. chọn mongodb C # riêng biệt

  5. Máy chủ NodeJS bị treo khi Tìm truy vấn của MongoDB trên các yêu cầu giả lập