日付に基づいて、あるコレクションから別のコレクションにデータをコピーする必要があります。ここで、日付は昨日の日付として動的に計算され、適切に機能します。
動的な日付の値を /$yesterday/ として mongo find メソッドに渡すと、取得に失敗しました。
data_timestamp の形式が 2013-08-20 17:04:40.633 で、同様のクエリで結果を取得しようとしているとします。
サンプル JS コード:
db=db.getSiblingDB('masterdb')
$today = new Date();
$yesterday = new Date($today);
$yesterday.setDate($today.getDate() - 1);
var $dd = $yesterday.getDate();
var $mm = $yesterday.getMonth()+1;
var $yyyy = $yesterday.getFullYear();
if($dd<10){$dd='0'+dd} if($mm<10){$mm='0'+$mm} $yesterday = $yyyy+'-'+$mm+'-'+$dd;
db.mastercollection.find( { "data_timestamp": /$yesterday/ } ).forEach( function(x){db.newcollection.insert(x)} );
「$」記号を使用せずに動的な値を渡す他の方法はありますか?
貴重なご意見をお聞かせください
前もって感謝します...
ラメシュ・カシ