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

Cách tìm tài liệu bằng mục nhúng trong MongoDB PHP

Cấu trúc dữ liệu của bạn khó truy vấn vì bạn có một mảng tài liệu nhúng. Với một chút thay đổi đối với dữ liệu, bạn có thể làm cho việc này dễ dàng hơn.

Tôi đã đặt các ID người dùng vào một mảng:

{
 "contestname": "Contest1",  
 "description": "java programming contest", 
 "numteams": 2,
 "teams": [
   {
    "teamname": "superstars",
    "members": [
        "50247314f501384b011019bc",
        "50293cf9f50138446411001c",
        "50293cdff501384464110018"
    ]
   },

   {
    "teamname": "faculty",
    "members": [
        "50247314f501384b0110100c",
        "50293cf9f50138446410001b",
        "50293cdff501384464000019"
    ]
   }
 ],
 "term": "Fall 2012"
}

Sau đó, bạn có thể thực hiện find () tương đương PHP cho:

db.contest.find(
        {'teams.members':'50247314f501384b011019bc'},
        {'contestname':1, 'description':1}
    )

Điều này sẽ trả về các cuộc thi phù hợp mà người dùng này đã tham gia:

{
    "_id" : ObjectId("502c108dcbfbffa8b2ead5d2"),
    "contestname" : "Contest1",
    "description" : "java programming contest"
}
{
    "_id" : ObjectId("502c10a1cbfbffa8b2ead5d4"),
    "contestname" : "Contest3",
    "description" : "Grovy programming contest"
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. kiểm tra xem giá trị trường có thoát trong mảng hay không - MongoDB

  2. Không thể kết nối với mongodb bằng ip máy

  3. MongoDB $ trong Toán tử truy vấn

  4. kết hợp truy vấn geoNear với một truy vấn khác cho một giá trị

  5. MongoDB và Cassandra