2

私は bash スクリプトを持っています。そこから、テーブルが存在しない場合に新しいフィールドでテーブルを更新する責任がある js ファイルを実行します。

しかし、bash スクリプトの実行中に、次のエラーが発生します。

Wed Jul  3 00:05:18 Error: error doing update (anon):1552
failed to load: logincount.js

これは、userCollection テーブル内の昨日と呼ばれるフィールドを更新する単純な js ファイルです。

 var d = new Date();
    var curr_date = d.getDate()-1;
    var curr_month = d.getMonth() + 1; 
    var curr_year = d.getFullYear();
    var yesterday = curr_year + "-" + curr_month + "-" + curr_date;
    db.userCollection.update({yesterday : {$exists : false}}, {$set: {yesterday : yesterday}},false,true)

上記の js ファイルに問題がある場合はお知らせください。また、このエラーの理由は何ですか??

アドバイスをお願いします、よろしくお願いします

最後の行、下の行を削除すると、更新するのを忘れていたもう1つのこと

db.userCollection.update({yesterday : {$exists : false}}, {$set: {yesterday : yesterday}},false,true)

それは何も文句を言いません。昨日提出されたものがグローバルである必要があると思いますか?? はいの場合、どうすればそのフィールドをグローバルにできますか??

4

1 に答える 1

1

変数 db が定義されていません。ここを見てください:http://docs.mongodb.org/manual/tutorial/write-scripts-for-the-mongo-shell/

あなたはこれを行うことができます:

conn = new Mongo();
db = conn.getDB("myDatabase");

またはこれ:

db = connect("localhost:27020/myDatabase");
于 2013-11-13T00:27:06.977 に答える