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

Thiết kế MongoDB - thẻ

Tôi có thể sử dụng một lược đồ như thế này, lược đồ này lưu trữ các thẻ trong một trường mảng chuỗi:

db.movies.insert({
    name: "The Godfather",
    director: "Francis Ford Coppola",
    tags: [ "mafia", "wedding", "violence" ]
})

db.movies.insert({
    name: "Pulp Fiction",
    director: "Quentin Tarantino",
    tags: [ "briefcase", "violence", "gangster" ]
})

db.movies.insert({
    name: "Inception",
    director: "Christopher Nolan",
    tags: [ "dream", "thief", "subconscious" ]
})

Bạn sẽ không cần giảm bản đồ cho loại truy vấn này. Bằng cách nhúng các thẻ bên trong tài liệu phim, bạn có thể tận dụng nhiều khóa của MongoDB và tìm phim với một thẻ nhất định bằng cách sử dụng find () duy nhất truy vấn như thế này:

db.movies.find( { tags: "dream" } )

Và như bạn đã nói, bạn cũng nên thêm một chỉ mục vào mảng multikey để cải thiện hiệu suất truy vấn:

db.movies.ensureIndex( { tags: 1 } )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Điều gì được trả về từ truy vấn Mongoose không tìm thấy kết quả phù hợp?

  2. Mongodb NoRM và POCO

  3. Mongoose - find ():đối tượng bên trong các tùy chọn tìm kiếm không hoạt động

  4. iptables chặn kết nối cục bộ với mongodb

  5. Sử dụng tham số maxTimeMS với các truy vấn tổng hợp trên Mongo 2.6 và Pymongo 2.7.1