Java 如何在mongodb中查找以前的id
在我的web项目中,我有旧的和新的按钮。如果我点击旧的,它必须显示以前的博客详细信息,反之亦然。现在我在后端传递当前id,我必须在MongoDB中搜索和查找以前的id。如何得到它。如果有任何与此相关的链接,请提供 这是我获取当前id的一段代码: Controller.js:Java 如何在mongodb中查找以前的id,java,angularjs,mongodb,spring-mvc,Java,Angularjs,Mongodb,Spring Mvc,在我的web项目中,我有旧的和新的按钮。如果我点击旧的,它必须显示以前的博客详细信息,反之亦然。现在我在后端传递当前id,我必须在MongoDB中搜索和查找以前的id。如何得到它。如果有任何与此相关的链接,请提供 这是我获取当前id的一段代码: Controller.js: $scope.previousBeat = function(beatId){ var beatId = beatId;
$scope.previousBeat = function(beatId){
var beatId = beatId;
blogService.getPreviousBlog(beatId, function(data){
$scope.blogId = data;
})
};
this.getPreviousBlog = function(id, callback){
var url = 'blog/' + id + '/details';
httpService.getRequest(url, callback);
};
@RequestMapping(value = "/{id}/details", method = RequestMethod.GET)
public @ResponseBody Blog getPreviousBlogWithId(@PathVariable("id") String id) {
try {
Blog blog = blogService.findBlogById(id);
return blogService.incrementViewCount(blog);
} catch (Exception e) {
// log.error("Error while retrieving blog", e.getMessage());
}
return null;
}
在service.js中:
$scope.previousBeat = function(beatId){
var beatId = beatId;
blogService.getPreviousBlog(beatId, function(data){
$scope.blogId = data;
})
};
this.getPreviousBlog = function(id, callback){
var url = 'blog/' + id + '/details';
httpService.getRequest(url, callback);
};
@RequestMapping(value = "/{id}/details", method = RequestMethod.GET)
public @ResponseBody Blog getPreviousBlogWithId(@PathVariable("id") String id) {
try {
Blog blog = blogService.findBlogById(id);
return blogService.incrementViewCount(blog);
} catch (Exception e) {
// log.error("Error while retrieving blog", e.getMessage());
}
return null;
}
在controller.java中:
$scope.previousBeat = function(beatId){
var beatId = beatId;
blogService.getPreviousBlog(beatId, function(data){
$scope.blogId = data;
})
};
this.getPreviousBlog = function(id, callback){
var url = 'blog/' + id + '/details';
httpService.getRequest(url, callback);
};
@RequestMapping(value = "/{id}/details", method = RequestMethod.GET)
public @ResponseBody Blog getPreviousBlogWithId(@PathVariable("id") String id) {
try {
Blog blog = blogService.findBlogById(id);
return blogService.incrementViewCount(blog);
} catch (Exception e) {
// log.error("Error while retrieving blog", e.getMessage());
}
return null;
}
Service.java:
@Override
public Blog findBlogById(String id) {
Blog blog = blogRepo.findOne(id);
find().sort({_id:1})
if (blog != null) {
return blog;
}
return null;
}
有没有办法获取以前的id。如果您的收集记录是按id排序的,那么您可以这样写:
db.blog.find({_id: {$lt: priviousId}}).sort({_id: 1}).limit(1)[0];
基本上,我们是按id
排序,然后使用$lt
对集合中的\u id
进行排序,只得到第一条记录。那将是你以前的博客
在Groovy代码中:
blogRepo.find(["_id": ["$lt": priviousId]]).sort(["_id": 1]).limit(1)[0];
好的..谢谢你..priviousId是哪一个传递形式前端对吗?是的,
priviousId
是你从前端传递的。此行有多个标记-令牌上的语法错误,删除这些令牌-语法错误,插入“)”要完成方法调用-语法错误,插入“)”要完成方法调用-令牌上的语法错误“,无效表达式-语法错误,请插入“::IdentifierRornew“要完成引用表达式-语法错误,请插入”;“要完成语句-语法错误,请插入”;“要完成语句-语法错误,请插入”;“要完成块语句-语法错误,请将“AssignmentOperator表达式”插入..Blog Blog=blogRepo.find({u id:{$lt:priviousId}}).sort({u id:1}).limit(1)[0];…这行代码说明什么是blogRepo
以及哪个是您的集合?我假设blogRepo
是您的集合。可能的重复项