2011-06-06 97 views
0

我是MongoDB的新手,并且试图存储在网站上执行的用户活动。目前我的数据的结构为:仅检索存储文档的相关部分

 
{ "_id" : ObjectId("4decfb0fc7c6ff7ff77d615e"), 
    "activity" : [ 
     { 
       "action" : "added", 
       "item_name" : "iPhone", 
       "item_id" : 6140, 
     }, 
     { 
       "action" : "added", 
       "item_name" : "iPad", 
       "item_id" : 7220,   
     } 
    ], 
    "name" : "Smith, 
    "user_id" : 2 
}

如果我想检索,例如,所有的活动有关ITEM_ID 7220,我会用类似的查询:

db.find({ "activity.item_id" : 7220 });

然而,这似乎返回整个文件,包括项目6140的记录。

任何人都可以建议如何做到这一点可以正确吗?我不知道这是我的查询问题,还是数据本身的结构。

非常感谢。

回答