Совсем недавно работаю с MongoDB, подскажите как правильно сделать выборку:
Пользователи/компании/теги(по тегам будет поиск)
# users { "_id" : "andrey", "id_secret" : "XDcTULHYM9vNK0SWgp3pmD6YajBRHeRf", "password" : "12345", "name" : "andrey", "email" : "andreyl@mail.ru", "last_login" : null, "created" : ISODate("2013-06-15T17:06:27Z"), "updated" : ISODate("2013-06-15T17:06:27Z") } #companies { "_id" : "apple", "name" : "Apple INC", "user" : "andrey", "description" : "", "tags" : [ "iphone", "ipad", "ipod", "ipodnano" ], "valid" : true, "created" : ISODate("2013-06-12T17:03:00Z"), "updated" : ISODate("2013-06-12T17:03:00Z") } # tags { "_id" : "iphone", "name" : "iPhone", "visits" : 6, "created" : ISODate("2013-05-15T20:00:00Z") }
result = db.companies.find({ 'tags.name': query })
как выбрать компании по названию тега ?
Вообще я правильно выбрал структуру БД или можно запихать компании в пользователя:
# users { "_id" : "andrey", "id_secret" : "XDcTULHYM9vNK0SWgp3pmD6YajBRHeRf", "password" : "12345", "name" : "andrey", "email" : "andreyl@mail.ru", "companies ":[ { "_id" : "apple", "name" : "Apple INC", "description" : "", "tags" : [ "iphone", "ipad", "ipod", "ipodnano" ], "valid" : true, "created" : ISODate("2013-06-12T17:03:00Z"), "updated" : ISODate("2013-06-12T17:03:00Z") } ] "last_login" : null, "created" : ISODate("2013-06-15T17:06:27Z"), "updated" : ISODate("2013-06-15T17:06:27Z") }
?