{
"_id" : "7959305563",
"_class" : "com.loylty.messagingEngine.entities.message.GroupIdDeliveryStatusReport",
"DATA_LIST" : [
{
"_id" : "7959305562-1",
"mobile" : "9566337867",
"status" : "DELIVRD",
"senttime" : "2018-01-09 14:19:42",
"dlrtime" : "2018-01-09 14:57:06",
"custom" : "9566337867"
},
{
"_id" : "7959305562-2",
"mobile" : "9566337867",
"status" : "DELIVRD",
"senttime" : "2018-01-09 14:19:42",
"dlrtime" : "2018-01-09 14:57:05",
"custom" : "9566337867"
},
{
"_id" : "7959305562-3",
"mobile" : "9566337867",
"status" : "DELIVRD",
"senttime" : "2018-01-09 14:19:42",
"dlrtime" : "2018-01-09 14:57:04",
"custom" : "9566337867"
}
]
}
GroupIdDeliveryStatusReport的结构
@Document(collection = "GROUP_ID_DELIVERY_STATUS")
public class GroupIdDeliveryStatusReport {
@Id
@Field("GROUP_ID")
private String groupId;
@Field("DATA_LIST")
private List<SolInfiniGroupIdData> data;
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public List<SolInfiniGroupIdData> getData() {
return data;
}
public void setData(List<SolInfiniGroupIdData> data) {
this.data = data;
}
}
如果我不能恰当地描述,请原谅我。
db.getCollection('GROUP_ID_DELIVERY_STATUS').aggregate(
{ "$unwind" : "$DATA_LIST"},
{
"$match" : {"DATA_LIST.status": "DELIVRD" }
},
{ $group: { _id: null, count: { $sum: 1 } } }
)
我就是这样写的
package com.loylty.messagingEngine.service.Impl;
import com.loylty.messagingEngine.service.GroupIdDeliveryStatusReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.stereotype.Service;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;
@Service
public class GroupIdDeliveryStatusReportServiceImpl implements
GroupIdDeliveryStatusReportService {
@Autowired
private MongoOperations mongoOperations;
@Override
public void getDeliveryCount() {
Aggregation aggregation = newAggregation(
//match(Criteria.where("_id").in("7959305563")), //Use this if you want to do this operation for particular document only
unwind("DATA_LIST"),
match(Criteria.where("DATA_LIST.status").is("DELIVRD")),
project("DATA_LIST._id")
);
AggregationResults<String> groupResults
= mongoOperations.aggregate(aggregation, "GroupIdDeliveryStatusReport", String.class);
int count = groupResults.getMappedResults().size();
}
}
这应该管用。
Aggregation aggregation = newAggregation(
//match(Criteria.where("_id").in("7959305563")), Use this if you want to do this operation for particular document only
unwind("DATA_LIST"),
match(Criteria.where("DATA_LIST.status").is("DELIVRD"))
project("DATA_LIST._id")
);
AggregationResults<String> groupResults
= mongoTemplate.aggregate(aggregation, "GroupIdDeliveryStatusReport", String.class);
int count = groupResults.getMappedResults().size();
我用Mongoose定义了以下模式: 我尝试执行以下查询: 查询不响应,并且从不进入回调函数。这很奇怪,因为这种类型的查询(搜索两个字符串字段)适用于我定义的另一个模式,但不适用于这个模式。另一种模式更简单,不需要任何嵌入文档。 [更新] 我试过你的建议,但不行。我认为只有两个选择: 1.我发布的模式有问题。 多谢!
我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?
问题内容: 我将使用视图优化MySQL嵌入式查询,但不确定是否会产生效果: 我想将其转换为: 我听说过SQL Server中的“索引视图”,但是我不确定MySQL。任何帮助,将不胜感激。谢谢! 问题答案: SQL Server中的索引视图通常称为“物化视图”,MySQL不支持。与其他供应商相比,MySQL的VIEW支持相当有限- 这些限制在其文档中列出。 普通视图只是准备好的SQL语句- 使用您提
我在java中有两个类,分别是txn和txnID,我想从嵌入表中检索txnID值,下面是我的txn类结构: 以下是嵌入式类结构: 我的查询语句如下: 错误消息如下:
回顾介绍中, php构建了一个层级系统. 最高层是提供用户空间函数和类库的所有扩 展. 同时, 其下是服务API(SAPI)层, 它扮演了webserver(比如apache, iis以及命令行接口 cli)的接口. 在这许多sapi实现中有一个特殊的sapi就是嵌入式sapi. 当这个sapi实现被构建时, 将 会创建一个包含所有你已知的php和zend api函数以及变量的库对象, 这个库对象