我有一个 Node js 程序,我只想允许特定集合中的一个文档。
蒙戈架构:
var DefaultPollSchema = new mongoose.Schema({
milliseconds: Number
});
所以集合总是这样的:
> db.defaultpolls.find()
{ "_id" : ObjectId("58500051a4b71d0c4d5c6ab3"), "milliseconds" : 15000, "__v" : 0 }
我想创建一个 API 来更新此值,但我不想使用 objectId 来进行更新。由于我在这个集合中只有一个文档 - 有没有办法做到这一点?
我尝试使用这个:
router.put('/update', function(req, res, next) {
var milliseconds = req.body.milliseconds;
defaultPoll.updateMany({}, {$set: {milliseconds: milliseconds}}, function (err, interval){
if (err) {
res.json(err);
} else {
res.json(interval);
}
})
});
但是这给了我以下错误:
TypeError: Object function model(doc, fields, skipId) {
if (!(this instanceof model)) {
return new model(doc, fields, skipId);
}
Model.call(this, doc, fields, skipId);
} has no method 'updateMany'
还有其他方法可以编写API吗?
谢谢
最佳答案
Mongoose 更新的方法称为 update
,所以方法很好,但应该是:
defaultPoll.update({}, {$set: {milliseconds: milliseconds}}, function (err, raw) { ...
关于javascript - dbs中只有一个文档 - 如何更新它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41123707/