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

Mongoid ::Phiên bản - làm thế nào để kiểm tra các phiên bản trước?

Mô-đun Mongoid ::Phiên bản thêm một trường có tên là phiên bản của kiểu Integer vào tài liệu, trường đó ghi lại phiên bản của tài liệu hiện tại, bắt đầu từ 1, lên đến tối đa (nếu được xác định). Ngoài ra, bạn sẽ có một "phiên bản" tài liệu nhúng sẽ được tạo. Sau đó, có một lệnh gọi lại before_save sẽ xử lý việc tạo phiên bản cho bạn.

Nói chung, tôi muốn giới thiệu một mức tối đa, nhưng điều đó là tùy thuộc vào bạn. Về cách tiếp cận chúng, bạn cũng không đưa ra một tài liệu ví dụ nào, vì vậy hãy lấy một bài viết rất đơn giản làm ví dụ:

#Make an empty post, just a title, version 1
post = Post.create(:title => "Hello World")
# Now add some "content" and save, version 2
post.content = "Woo - content"
post.save

Điều đó sẽ cung cấp cho chúng tôi một tài liệu như sau:

{
  "title": "Hello World",
  "content": "Woo - content",
  "comments": [
  ]
  "version": 2
  "versions": [
    { "title": "Hello World", "version": 1 }
  ]
}

Bây giờ bạn chỉ cần sử dụng các cơ chế tìm kiếm tiêu chuẩn của mình để đạt được nó:

post = Post.find(:first, :conditions => {:title => "Hello World"})

Lấy phiên bản mới nhất ra khỏi đó và sau đó bạn có thể lập trình tìm kiếm các phiên bản trước đó. Tôi sẽ đăng đầu ra, nhưng tôi chưa thiết lập mẫu vào lúc này.

Tương tự, bạn chỉ cần chạy db.namespace.find () dựa trên các trường tiêu đề, phiên bản nếu bạn muốn thực hiện qua shell.

Hy vọng rằng điều đó có ý nghĩa.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để đổi tên (các) trường bí danh trong khi tìm nạp nó từ MongoDB thông qua truy vấn sử dụng ổ đĩa gốc MongoDB-Node.JS?

  2. Chỉ định nhiều tiêu chí cho các phần tử mảng

  3. lược đồ mongo (nhúng so với tham chiếu)

  4. Làm cách nào để lấy tất cả id tài liệu trong MongoDB?

  5. Làm cách nào để ghi nhật ký các truy vấn được thực thi bởi Spring Data MongoDB?