1

私がしている場合

Collection.insert({"name":"Record 1",creationTime:new Date()});

とにかくコマンドがサーバーに送信されるため、データ挿入の時点でクライアントの時間の代わりにサーバーの時間を使用する方法はありますか?

new Date();クライアントの時間は何でもかまいません。

クエリを挿入する前にサーバーの時間を取得できることは承知していますが、挿入コマンドがサーバーに送り返されることを考えると、少し冗長に思えます。

4

1 に答える 1

1

これを行うだけで、すでにサーバーに送信されている冗長性を回避できます。

if (Meteor.isClient) {
    Meteor.call("addItem", {"name": "Record 1"});
}

if (Meteor.isServer) {
    Meteor.methods({
        "addItem": function(obj) {
            obj.creationTime = new Date();
            Collection.insert(obj);
        }       
    });
}

またはクライアントから:

if (Meteor.isClient) {
    Meteor.call("getDate", function (error, result) {
        Collection.insert({"name":"Record 1", creationTime: result});
    });
}


if (Meteor.isServer) {
    Meteor.methods({
        getDate: function () {
            return new Date();
        }
    });
}
于 2013-01-12T08:51:03.860 に答える