gpt4 book ai didi

javascript - insertMany 不是函数

转载 作者:可可西里 更新时间:2023-11-01 10:19:23 25 4
gpt4 key购买 nike

在我的项目中,我正在制作一个系统,让用户可以创建和配置他们自己的足球锦标赛。比赛结束后,我必须将 poules 和团队放入 mongo 的比赛文件中。我不断收到以下错误:

TypeError: toernooi.insertMany is not a function
at C:\xampp\htdocs\nodeprojects\contactlistapp\server.js:254:13
at Query.<anonymous> (C:\xampp\htdocs\nodeprojects\contactlistapp\node_modules\mongoose\lib\model.js:3398:16)
at C:\xampp\htdocs\nodeprojects\contactlistapp\node_modules\kareem\index.js:259:21
at C:\xampp\htdocs\nodeprojects\contactlistapp\node_modules\kareem\index.js:127:16
at nextTickCallbackWith0Args (node.js:420:9)
at process._tickCallback (node.js:349:13)

我正在尝试使用以下代码将数组插入到 mongodb 中的现有文档中:

app.put('/poules/:id', function(req,res){
//Select Toernooi object in DB by ID
Toernooi.findById(req.params.id, function(err, toernooi){
if(err)
res.send(err);

toernooi.poules = {
poule : {
team: { teamnaam: 'psv', pt: '0', dptplus: '0', dptminus: '0' },
team: { teamnaam: 'ajax', pt: '0', dptplus: '0', dptminus: '0' },
team: { teamnaam: 'feyenoord', pt: '0', dptplus: '0', dptminus: '0' },
team: { teamnaam: 'ado', pt: '0', dptplus: '0', dptminus: '0' }
},
poule : {
team: { teamnaam: 'vitesse', pt: '0', dptplus: '0', dptminus: '0' },
team: { teamnaam: 'achilles', pt: '0', dptplus: '0', dptminus: '0' },
team: { teamnaam: 'jvc', pt: '0', dptplus: '0', dptminus: '0' },
team: { teamnaam: 'twente', pt: '0', dptplus: '0', dptminus: '0' }
}
};

toernooi.insertMany(toernooi.poules, function(error, docs));
});

我不知道出了什么问题,因为我是 NodeJS 和 Mongo 的新手,我想我可能会做一些简单的错误。

Mongoose 版本:4.7MongoDB 版本:3.2.10

最佳答案

在您给出的示例中,toernooi 是您的热门查询的结果。结果没有 insertMany 函数,只有模型 Toernooi

无论如何,您在这里所做的只是对文档的简单更新,因此以下操作应该可行:

app.put('/poules/:id', function(req,res){

//Select Toernooi object in DB by ID

Toernooi.findById(req.params.id, function(err, toernooi){
if(err)
res.send(err);

toernooi.poules = [
[
{ teamnaam: 'psv', pt: '0', dptplus: '0', dptminus: '0' },
{ teamnaam: 'ajax', pt: '0', dptplus: '0', dptminus: '0' },
{ teamnaam: 'feyenoord', pt: '0', dptplus: '0', dptminus: '0' },
{ teamnaam: 'ado', pt: '0', dptplus: '0', dptminus: '0' }
],[
{ teamnaam: 'vitesse', pt: '0', dptplus: '0', dptminus: '0' },
{ teamnaam: 'achilles', pt: '0', dptplus: '0', dptminus: '0' },
{ teamnaam: 'jvc', pt: '0', dptplus: '0', dptminus: '0' },
{ teamnaam: 'twente', pt: '0', dptplus: '0', dptminus: '0' }
]
];

toernooi.save(function(err,res){

});
});

编辑:如评论中所述,您的语法对 poules 无效。这里是一个数组。

关于javascript - insertMany 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40886500/

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