sdb中的集合查询时间按天分组有怎么实现,请高手们指点
db.cs.cl.insert({ a:{$date:"2015-03-13", b:"1" }})
db.cs.cl.insert({ a:{$date:"2015-03-14", b:"2" }})
db.cs.cl.insert({ a:{$date:"2015-03-14", b:"3" }})
按照字段a分组, 并计数
db.cs.cl.aggregate( {$group:{_id:"$a", mydate:{$first:"$a", count:{$count:"$a" } }}} )
更详细的命令可以参考
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190825&edition_id=0
非常感谢您的回答,请问时间我不能精确到十分秒么?还有就是如果我是两个集合联合查询的怎么办呀
看字段, 字段是什么范围,就精确到什么范围。
联合查询这种复杂的操作建议使用pg+sequoiadb的模式, 可以支持完整的sql
http://www.sequoiadb.com/cn/index.php?a=index&m=Files&cat_id=1432190586&edition_id=0
谢谢您的回答,但是要是精确地时分秒的话就没办法按时间进行分组了吧
时分秒不就是时间吗? 你是指按天吧?
1. 只使用sequoiadb的话, 就只能再加个字段,一个字段存放精确到时分秒的, 另一个存放到天的。
2. 用pg+sequoiadb的话就可以使用pg的时间函数进行截取。
谢谢您的解答
您好,还是有个问题要请教下你,用pg+SDB的话如何访问嵌套对象里面的字段啊,如:集合中的字段 history:[{id:'1',name:'sd'},{id:'2',name:'sd'}] ,我想查id的值得话怎么处理,抑或是想根据id进行分组