java - 如何在mongodb中查找以前的id

标签 java angularjs mongodb spring-mvc

在我的网络项目中,我有较旧的和较新的按钮。如果我点击旧的,它必须显示以前的博客详细信息,反之亦然。现在我在后端传递当前 id,我必须在 MongoDB 中搜索并找到以前的 id。如何得到它。如果有任何与此相关的链接,请提供。

这是我获取当前 ID 的代码:

Controller.js:

$scope.previousBeat = function(beatId){
                            var beatId = beatId;
                            blogService.getPreviousBlog(beatId, function(data){
                                $scope.blogId = data;
                            })
                        };

service.js中:

this.getPreviousBlog = function(id, callback){
    var url = 'blog/' + id + '/details';
    httpService.getRequest(url, callback);
};

controller.java中:

@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;
    }

服务.java:

 @Override
    public Blog findBlogById(String id) {
        Blog blog = blogRepo.findOne(id);
        find().sort({_id:1})

        if (blog != null) {
            return blog;
        }
        return null;
    }

有什么办法可以获取以前的ID。

最佳答案

如果你的 Collection 记录是按id排序的,那么你可以这样写:

db.blog.find({_id: {$lt: priviousId}}).sort({_id: 1}).limit(1)[0];

基本上,我们按 id 排序,然后使用 $lt 对集合中的 _id 进行排序,并仅获取第一条记录。那将是您以前的博客。

在 Groovy 代码中:

blogRepo.find(["_id": ["$lt": priviousId]]).sort(["_id": 1]).limit(1)[0];

关于java - 如何在mongodb中查找以前的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33865352/

相关文章:

java - 如何在 SeparatedListAdapter 中设置文本颜色?

java - 为什么我需要将私有(private)类声明为静态以避免 "Generic Array Creation"错误?

javascript - 在 AngularJS 中将数据传递到模态时遇到问题

javascript - Laravel 4 和 Angular JS 以及 Twitter Bootstrap 3 分页

mongodb - 项目部署时如何删除数据?

javascript - 使用 jquery ajax 发布到 mongodb

java - 如何在Java中的所有线程中维护List的单个副本

java - 在泛型类中使用接口(interface)作为边界类型

javascript - ng-click 而不是提交

java - 使用 DBCollection.mapReduce 更改 MongoDB 架构 : spurious nested "value" attribute