ここで重要な機能は1クリック= 1票です.MongoDBの投票パラメータを更新し、MongoDB内でちょうど良い値になります。しかし、約5票の後、それは増分を停止する。私はブラウザをリフレッシュすると、次のリフレッシュまで5分増やしてからそれ以上は許されません。Mongoose付きExpress:5以上の増分はできません
「findOneAndUpdate」メソッドに関連していないものがありますか?私はちょうど '更新'メソッドを使用しようとしており、動作は同じです。私はドキュメントをチェックして、 '$ inc'インクリメント/時間/インターバル制限の言及が見つかりませんでした。ここに私のserver.jsです:
var express = require('express');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var bodyParser = require('body-parser');
var app = express();
mongoose.connect('mongodb://localhost:27017/food');
//Allow all requests from all domains & localhost
app.all('/*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Methods", "POST, GET");
next();
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
var usersSchema = new Schema({
id: String,
vote: Number
});
var bkyes = mongoose.model('bkyes', usersSchema);
app.get('/bkyes', function(req, res) {
bkyes.find({}, function(err, bkyes) {
res.send(bkyes);
});
});
app.post('/bkyes', function(req, res, next) {
bkyes.findOneAndUpdate({$inc: { vote: 1 }})
.exec(function(err, foundObject) {
if (err) {
console.log(err);
}});
});
app.listen(3000);
なぜ 'findOneAndUpdate'を使うのですか?あなたはクエリを渡すことはありません。理由だけでは[#更新](http://mongoosejs.com/docs/api.html#model_Model.update) – David
クエリを渡さずにデータベースの値を増やすにはどうすればよいでしょうか?これは、私が 'findOneAndUpdate'で達成したことのようなものです。もっと良い方法があれば教えてください。あなたのご意見ありがとうございます。 – jdev99
あなたのコメントの最後のいくつかの言葉が見当たらなかったので、 'findOneAndUpdate'の代わりに' Update'を見てみましょう – jdev99