- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在我的项目中,我正在制作一个系统,让用户可以创建和配置他们自己的足球锦标赛。比赛结束后,我必须将 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/
在我的项目中,我正在制作一个系统,让用户可以创建和配置他们自己的足球锦标赛。比赛结束后,我必须将 poules 和团队放入 mongo 的比赛文件中。我不断收到以下错误: TypeError: toe
我们正在使用 MongoDB insertMany(),我想获取成功插入的文档和失败的文档。 有些文档无法插入,因为我们首先放置了唯一的文档(按电话号码),之后如果代码遇到相同的电话号码,则会将字符串
我正在尝试 insertMany() 项目进入我的 Mongo 数据库,但我想跳过重复的 ID。 我正在使用 Node.js和 mongodb . 我有一些数据: const myExampleDat
我有以下存储库类,可将数据批量插入到 CosmosDb 数据库中: public bool InsertZonierData(List zonierList) { if (zonierList
使用Mongoose进行InsertMany后,我们如何知道有多少文档已成功进入数据库? Employees.insertMany(employees) .then(functio
我对 Mongoose 和 MongoDB 本身还很陌生,我正在尝试保存一堆通过 insertMany 方法插入的文档,但它并没有保存文档。 这是我的代码: 型号: var mongoose = re
我有一个 Mongo 集合,我正在尝试将多个文档插入其中,如下所示: db.collection('properties').insertMany(docs) .catch(err => cons
Mongoose 4.4 现在有一个 insertMany 函数,它允许您验证一组文档,如果有效,则通过一个操作插入它们,而不是每个文档一个操作: var arr = [{ name: 'Star W
我很困惑为什么 Mongodb 需要两种不同的方法 insertMany 和 insertOne 来插入数据。为什么只使用 insertMany?如果要插入一个文档,比如{ a: 1 },这样写ins
我正在尝试编写以下代码并使其同步工作,但唯一的问题是它与 console.log 一起正常工作,它会在 1 秒内延迟打印数组中的每个项目,但不适用于以下结构: for (let i = 0; i {
我尝试使用 collection.insertMany() 在我的集合中插入许多记录,并对其进行了测试,但不幸的是,此测试不是确定性的(有时await有时不起作用)。为什么我这么认为,因为 colle
我正在尝试使用 inertMany 插入数据。但是我无法插入数据,为什么?我正在使用 mongoose session 如果发生任何错误,我会回滚变化 https://codesandbox.io/s
我正在尝试进行批量更新插入,但在弄清楚如何执行此操作时遇到问题。这不起作用: BasicDBObject filter = new BasicDBObject(); BasicDBOb
db.col.insertMany( [ { "_id" : "tt0084726", "title" : "Star Trek II: The
MongoDB 上的 insert()、insertOne() 和 insertMany() 方法有什么区别。我应该在什么情况下使用它们? 我阅读了文档,但不清楚何时使用每个文档。 最佳答案 What
我将 mongoose 与 nodeJs 一起使用,并且我正在尝试实现一个在使用 insertMany 时调用的中间件。在 mongoose 文档中根本没有示例,但他们确认 insertMany 模型
我有很多订单想要插入到 MongoDB 中,这些订单通过 orderID 进行唯一索引。 如果数据库中存在我的订单之一,我想插入所有订单并更新订单时间。 我尝试使用 updateMany 并将 ups
我必须在 action 集合中插入一个批处理,如下所示: [ { "userId": "57ee65fef5a0c032877725db", "postId": "57f63ce1
import { MongoClient } from 'mongodb'; import assert from 'assert'; import config from './config'; c
以下函数由 async/await 函数调用,因此我需要从 Mongoose 返回一个真正的 Promise,因此根据 documentation 使用“.exec()”和 this SO threa
我是一名优秀的程序员,十分优秀!