sql >> データベース >  >> NoSQL >> MongoDB

MongoError不明なトップレベル演算子:$ set

    問題は、間違った更新メソッド の構文を使用していることです。 。 このメソッド を使用する必要があります scoresを想定した構文 はドキュメントです。

    return scores.updateQ({
        $set: { "partId": partId, "activityId": activityId},
        $unset: { topicType: '', topicId: '', courseId: ''}
    },
    { strict: false });
    

    また、マングースでは、$setを使用します デフォルトでは、これは同等である必要があります:

    return scores.updateQ({
        partId: partId,
        activityId: activityId,
        $unset: { topicType: '', topicId: '', courseId: ''}
    },
    { strict: false });
    

    編集:

    私の仮定は、scoresです ドキュメント(モデルのインスタンス)です:

    var schema = new Schema({});
    var Scores = mongoose.model('Scores', schema);
    var scores = new Scores({});
    

    両方のScores.update およびscores.update 存在しますが、構文が異なり、エラーの原因である可能性があります。違いは次のとおりです:

    // Generic update
    Scores.update({ _id: id }, { prop: 'value' }, callback);
    
    // Designed to update scores specifically
    scores.update({ prop: 'value' }, callback);
    

    注:

    これらの仮定が正しくない場合は、どのようにしてそこにたどり着いたかなど、より多くのコンテキストを回答に含めてください。




    1. WindowsサービスとしてのMongoDBとreplicaSetのセットアップ

    2. Redisクラスターシャーディングの概要–利点、制限、デプロイ、クライアント接続

    3. redisで文字列を検索するにはどうすればよいですか?

    4. マングース、外国/入力されたキーに基づいて並べ替え