gpt4 book ai didi

javascript - 更新 mongodb 中的集合

转载 作者:太空宇宙 更新时间:2023-11-04 00:26:10 25 4
gpt4 key购买 nike

我正在尝试根据是否找到值来更新我的集合。我的保存功能看起来像这样 `

router.post('/savePage', function (req, res) {
var page = req.body.page;

var query = {'pageId': page.pageId};
var paged = new pagedb(page);

pagedb.find(query, function (err, result) {
if(err) return console.error(err);

if(result.length > 0){
pagedb.update({'pageId': page.pageId}, page );
res.send('updated')
}
else{
paged.save(function (err) {
if (err) {
console.log('error saving page!');
throw err;
};
res.send('saved');
});
}
});
});`

我的架构如下所示

var pageShema = new Schema({
pageId: {
type: String
},
logo: {
type: String
},
show: {
type: String
},
teamName: {
type: String
},
header1: {
type: String
},
header2: {
type: String
},
date: {
type: Date,
default: Date.now
},
offense:{
type: {}
},
defense:{
type: {}
}
});

我的保存工作正常,但我的数据似乎没有更新。我使用的是 mongodb 3.2。本质上我想用新页面替换现有页面。请求中发送的页面

最佳答案

除非您指定回调或调用 exec(),否则不会执行更新。您可以执行以下任一操作:

pagedb.update({ 'pageId': page.pageId }, page).exec();

或者:

pagedb.update({ 'pageId': page.pageId }, page, function(err, res) {
if (err) return console.error(err);
console.log(res);
});

使用 mongoose,为了调试,您可以使用 debug 查看底层 mongodb 查询:

var mongoose = require('mongoose')
mongoose.set('debug', true);

关于javascript - 更新 mongodb 中的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42707772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com