-1

日付をmysqlに保存する必要があります(時間なし)。ユーザーは入力ボックスに yyyy-mm-dd のような日付を入力しますが、後でフォーマットが変更される可能性があります。mongodb に (時間なしで) 日付を保存する良い方法を教えてください。mysql では DATE 型を使用しますか? 日付と時刻を保存する必要がある場合は、mongdb 日付型を使用します。そして、次のように保存します。

$data['ADDED'] = new MongoDate(time());

そしてそれらを表示します:

echo gmdate('Y-m-d H:i:s', $data['ADDED']->sec);

日付のみを使用する場合、yyyy-mm-dd のような文字列として保存します (保存する前に日付を検証して、正しい日付であることを確認します)。次のような日付で検索する必要があります。

dateField <(>) somedate

mongodb に日付を文字列として格納することは許容できると思いますか? 通常、どのように日付をmongodbに保存しますか?

4

1 に答える 1

2

MongoDB には DATE 型がありません。代わりにISODate型があります。これは、後で説明するように、「時間なし」で保存するのに適しています。

MongoDateしたがって、次のように使用できます。

$date = new MongoDate(); // Denotes today, just like the date() function

時間なしで保存するには、PHPに日付のみを設定させることでそれを偽造することができ00:00:00ます00:00:00.

$date = new MongoDate(strtotime('2012-04-23')); // strtotime for fun

そして、次のように日付部分だけでクエリを実行できます。

find(array('date' => new MongoDate(strtotime('2012-04-23'))));

そして、時間が入力したものと等しくなるため、時間がないかのようにクエリを実行できるようになりました: 00:00:00

もちろん、これはそれを修正する 1 つの方法にすぎません。

于 2012-12-18T16:15:31.957 に答える