MeteorJS:如何在集合中找到第一个项目

时间:2016-04-08 22:29:19

标签: mongodb meteor

在Meteor项目中,我想找到一个集合中的第一个项目。这是一个页面,其中包含可以编辑内容的表单。

我用我的数据创建了一个新的集合。如何在不对代码中的_id进行硬编码(BEURK)的情况下仅针对此项目进行定位?

我的路由器:

Router.route('/admin/about/edit', {
    name: 'aboutContentAdmin',
    layoutTemplate: 'adminLayout',
    data: function() {

        var about = About.find().sort({
            x: 1 // doesn't work
        });

        return {
            about: about
        };

    }
});

谢谢!

2 个答案:

答案 0 :(得分:1)

感谢您的编辑,但我没有结果:) this._id总是未定义。我的代码:

Router.route('/admin/about/edit', {
name: 'aboutContentAdmin',
layoutTemplate: 'adminLayout',
data: function() {

    var about = About.findOne({},{
        sort: {
            createdAt: 1
        }, limit: 1
    });

    return {
        about: about
    };

    }
});

我的模板事件:

Template.aboutContentAdmin.events({
'submit form': function(e) {

    e.preventDefault();

    var id = this._id;

    alert(id);

    var aboutContentProperties = {
        createdAt: new Date(),
        content: $('[name="content"]').val()
    }

    // Request

    }
});

我的mongodb在About中找到:

{ "_id" : "jxDm97hXiHiJwCzQT", "createdAt" : ISODate("2016-04-09T16:45:33.285Z"), "content" : "fege" }

我不明白为什么它不起作用:(

答案 1 :(得分:0)

About.findOne({sort: {createdAt: 1}, limit: 1});