我是mongoDb中的菜鸟,我需要为任何特定的集合实现Pagination,例如说
我有一个Collection Foo,我有一个Fucntion,它返回Foo集合中的所有记录
public List<Foo> getFoo(){
}
Run Code Online (Sandbox Code Playgroud)
但我需要通过实现分页从Foo中获取记录如何通过使用mongoTemplate Spring数据mongodb实现这一目标?
我需要在现有的事件文档中插入一个新轨道,以下是我的类结构
class Event
{
String _id;
List<Track> tracks;
}
class Track
{
String _id;
String title;
}
Run Code Online (Sandbox Code Playgroud)
我现有的文件是
{
"_id":"1000",
"event_name":"Some Name"
}
Run Code Online (Sandbox Code Playgroud)
插入后文档看起来像
{
"_id":"1000",
"event_name":"Some name",
"tracks":
[
{
"title":"Test titile",
}
]
}
Run Code Online (Sandbox Code Playgroud)
如何使用mongoTemplate spring data mongodb将该轨道插入到我现有的文档中?
任何人都可以告诉我如何在其中一个字段Mongo Db中检索具有最大值的文档.使用mongoTemplate类
这是一个例子
{
"_id" : "post 1",
"author" : "Bob",
"content" : "...",
"page_views" : 5
}
{
"_id" : "post 2",
"author" : "Bob",
"content" : "...",
"page_views" : 9
}
{
"_id" : "post 3",
"author" : "Bob",
"content" : "...",
"page_views" : 8
}
Run Code Online (Sandbox Code Playgroud)
所以我想要以下结果
{
"_id" : "post 2",
"author" : "Bob",
"content" : "...",
"page_views" : 9
}
Run Code Online (Sandbox Code Playgroud)
最大page_views的记录
我想同时将 or & 和子句添加到我的查询对象中,但我不断收到以下错误
由于 com.mongodb.BasicDBObject 的限制,您不能添加第二个“空”条件?
例如
query.addCriteria(new Criteria().orOperator(Some Critera);
query.addCriteria(new Criteria().andOperator(Some Critera);
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?
细节:
实际上,我尝试解析以下 json 并基于该解析的 json 构建动态查询
{
"query":{
"where":[{
"or":[
{
"fieldName":"address1","fieldValue":"Dummy address1",
"operator":"equal"
}
],
"and":[{
"fieldName":"version","fieldValue":"1",
"operator":"equal"
}]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
因此,您可以建议我使用 mongoTemplate spring 数据将 json 解析为 Mongodb 查询的其他方法
这是我的解析代码
if(null != eventSearch.getQuery())
{
if(null != eventSearch.getQuery().getWhere() && eventSearch.getQuery().getWhere().size() > 0)
{
for (Where whereClause : eventSearch.getQuery().getWhere()) {
if(null != whereClause.getOr() && whereClause.getOr().size() > 0){
List<org.springframework.data.mongodb.core.query.Criteria> orCriterias = new ArrayList<org.springframework.data.mongodb.core.query.Criteria>(whereClause.getOr().size());
for (Field …Run Code Online (Sandbox Code Playgroud) 我需要动态创建一个标准,但我有问题,我如何动态建立标准.
我需要完全一样,这里建立动态查询与Spring数据MongoDB的标准,但同时,我为我的标准列表转换为指定者作为其一直在说,orCriteria不具备条件的支持[我得到一个错误]
到目前为止,这是我的努力
这是我的查询结构
{
"query":{
"where":[{
"or":[
{
"fieldName":"title","fieldValue":"Demo Event NEW YORK IIII22222",
"operator":"equal"
},
{
"fieldName":"createdBy","fieldValue":"system",
"operator":"equal"
}
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
这是我解析它来创建标准
if(null != eventSearch.getQuery())
{
if(null != eventSearch.getQuery().getWhere() && eventSearch.getQuery().getWhere().size()> 0)
{
for (Where whereClause : eventSearch.getQuery().getWhere()) {
if(null != whereClause.getOr() && whereClause.getOr().size() > 0){
for (Field field: whereClause.getOr()) {
if(field.getOperator().equalsIgnoreCase(QueryOperator.IS))
{
// So i need to append an or Condition to main query for each or object in my query can anyone …Run Code Online (Sandbox Code Playgroud)