我做的项目只有数据的查询,mongodb数据库是其他公司向里面存放数据和维护。

坑爹是我需要的数据在mongodb中一条记录的很深的层次里面。如图

我需要根据参数,取BMV中VL的第M条记录中的BV的第N个值。

数据很多,如果全取出来,以后的数据处理会很影响效率。

 

mongodb语句:

find({ "BSN" : "95614", "BMV.VL.BV" : { "$exists" : true }, "CT" : { "$gte" : 1419868800, "$lte" : 1419955200 } }, { "_id" : 0, "CT" : 1, "BMV.VL" : { "$slice" : [0, 1] }, "BMV.VL.BV" : { "$slice" : [4, 1] } })

执行结果:

下面开始解释语句:

find(查询条件, 要显示的内容);

 "BMV.VL.BV" : { "$exists" : true },// BMV下面的VL下面的BV字段存在,注意:只是这个字段存在,不保证不为空哦;

"CT" : { "$gte" : 1419868800, "$lte" : 1419955200 }//$gte:小于等于,$gt:小于,$lt:大于,$lte:大于等于;

"BMV.VL" : { "$slice" : [0, 1] }//显示BMV下面VL数组中第一条记录;

"BMV.VL.BV" : { "$slice" : [4, 1] } //显示BV数组中第5个数字;

feilds:{ "$slice" : [m, n]}//  只显示feilds数组中从m开始(不包括m)的n个数据。

 

posted on 2015-01-04 17:32  鲲入海  阅读(1445)  评论(0编辑  收藏  举报