我正在使用mongodb和php构建项目,因此我的数据库包含以下记录。
{
"_id": {
"$id": "515bb7e2a00b2add0b000001"
},
"user_id": "user_8888",
"events": {
"common test I": {
"subject": "common test I",
"start_date": "04/14/2013",
"start_time": "8.00 AM",
"end_date": "04/14/2013",
"end_time": "10.30 AM",
"all_day_event": "false",
"discription": "no discription",
"location": "STC",
"private": "false",
"time_zone": "IST",
"alarm": "true",
"alarm_threshold": "5",
"status": "true"
}
}
}
所以只使用查询,我如何从记录中检索“常见测试I”事件。结果应该是:
{
"subject": "common test I",
"start_date": "04/14/2013",
"start_time": "8.00 AM",
"end_date": "04/14/2013",
"end_time": "10.30 AM",
"all_day_event": "false",
"discription": "no discription",
"location": "STC",
"private": "false",
"time_zone": "IST",
"alarm": "true",
"alarm_threshold": "5",
"status": "true"
}
有可能吗?
答案 0 :(得分:0)
db.collection.find({},{"events.common test I":1,_id:0})
答案 1 :(得分:0)
您可以在find方法中指定要检索的文档的哪些字段。
请参阅PHP.net Reference Manual for MongoCollection::find。
像
这样的东西$collection->find(array(), array('events.common test I'=>true));
请注意“始终返回_id字段。”
虽然我建议不要在对象键/字段名中使用空格。