3

我发现当我在 Meteor 光标上进行迭代时,我不知道如何在不确切知道有多少字段或它们被称为什么的情况下显示所有文档字段。

基本上我想做的是类似的事情,print_r()但它将文档简单地显示为键名的字符串和与之关联的数据。

<template name="list">
    Requests:
    {{#each quotes}}
    {{key}} : {{value}}
    {{/each}}
</template>
4

1 回答 1

4

使用 Underscore.js,您可以遍历未知文档并将值/键添加到数组中。在模板中使用这个数组可以让你输出所有的键/值。

像这样(未经测试,但应该工作):

// Template js
Template.whatever.elementToReturn = function() {
    var elementToReturn = [];
    var someDoc = CollectionWithUnknowFields.findOne({});
    var index = 0;
    _(someDoc).each( function( value, key, someDoc ) {
        elementToReturn[index] = {};
        elementToReturn[index]['value'] = value;
        elementToReturn[index]['key'] = key;
        index++;
    });
    return elementToReturn;
};

// Template HTML
<template name="whatever">

    {{#each elementToReturn}}

        <p>Key is: {{key}}</p>
        <p>Value is: {{value}}</p>

    {{/each}}

</template>
于 2013-06-14T19:25:00.337 回答