我使用typeorm在nestjs中管理postgresql数据库。我必须在数据库中保存一个json响应,所以我将整个响应保存在一列中。这是我的实体。`/*eslint禁用更漂亮/更漂亮*/import{Column,CreateDateColumn,Entity,PrimaryGeneratedColumn,UpdateDateColumn}from“typeorm”;

@实体({name:'travel_bookings'})

出口类旅行预订{

@PrimaryGeneratedColumn('uuid')
id: string;

@Column('uuid')
userId:string;

@Column({ type: 'json' })
booking_response: string;

@Column({ nullable: true })
Status:string;


@CreateDateColumn({ name: 'created_at' }) 'created_at': Date;

@UpdateDateColumn({ name: 'updated_at' }) 'updated_at': Date;

}`booking_response是一个长的json数据,其中有一个id。现在我正在创建一个函数来更新Status,其中json中的id与我提供的id匹配-

{"type":"flight-order","id":"eJzTd9f397V09w8FAAs4AmY%3D","queuingOfficeId":"NCE4D31SB","associatedRecords":[{"reference":"OM9GOU","creationDate":"2023-02-07T11:40:00.000","originSystemCode":"GDS","flightOfferId":"1"}],"flightOffers":[{"type":"flight-offer","id":"1","source":"GDS","nonHomogeneous":false,"lastTicketingDate":"2023-02-08","itineraries":[{"segments":[{"departure":{"iataCode":"BOS","terminal":"C","at":"2023-03-10T22:55:00"},"arrival":{"iataCode":"LIS","terminal":"1","at":"2023-03-11T10:20:00"},"carrierCode":"TP","number":"216","aircraft":{"code":"32Q"},"duration":"PT6H25M","id":"9","numberOfStops":0,"co2Emissions":[{"weight":303,"weightUnit":"KG","cabin":"ECONOMY"}]},{"departure":{"iataCode":"LIS","terminal":"1","at":"2023-03-11T11:45:00"},"arrival":{"iataCode":"MAD","terminal":"2","at":"2023-03-11T14:05:00"},"carrierCode":"TP","number":"1014","aircraft":{"code":"32Q"},"duration":"PT1H20M","id":"10","numberOfStops":0,"co2Emissions":[{"weight":68,"weightUnit":"KG","cabin":"ECONOMY"}]}]},{"segments":[{"departure":{"iataCode":"MAD","terminal":"2","at":"2023-03-11T21:10:00"},"arrival":{"iataCode":"LIS","terminal":"1","at":"2023-03-11T21:30:00"},"carrierCode":"TP","number":"1019","aircraft":{"code":"321"},"duration":"PT1H20M","id":"83","numberOfStops":0,"co2Emissions":[{"weight":68,"weightUnit":"KG","cabin":"ECONOMY"}]},{"departure":{"iataCode":"LIS","terminal":"1","at":"2023-03-12T11:40:00"},"arrival":{"iataCode":"BOS","terminal":"E","at":"2023-03-12T15:20:00"},"carrierCode":"TP","number":"217","aircraft":{"code":"32Q"},"duration":"PT7H40M","id":"84","numberOfStops":0,"co2Emissions":[{"weight":303,"weightUnit":"KG","cabin":"ECONOMY"}]}]}],"price":{"currency":"USD","total":"613.85","base":"184.00","fees":[{"amount":"0.00","type":"TICKETING"},{"amount":"0.00","type":"SUPPLIER"},{"amount":"0.00","type":"FORM_OF_PAYMENT"}],"grandTotal":"613.85","billingCurrency":"USD"},"pricingOptions":{"fareType":["PUBLISHED"],"includedCheckedBagsOnly":false},"validatingAirlineCodes":["TP"],"travelerPricings":[{"travelerId":"1","fareOption":"STANDARD","travelerType":"ADULT","price":{"currency":"USD","total":"613.85","base":"184.00","taxes":[{"amount":"5.60","code":"AY"},{"amount":"4.40","code":"J9"},{"amount":"15.80","code":"JD"},{"amount":"0.70","code":"OG"},{"amount":"16.10","code":"PT"},{"amount":"3.60","code":"QV"},{"amount":"42.20","code":"US"},{"amount":"3.83","code":"XA"},{"amount":"4.50","code":"XF"},{"amount":"7.00","code":"XY"},{"amount":"6.52","code":"YC"},{"amount":"27.60","code":"YP"},{"amount":"292.00","code":"YQ"}],"refundableTaxes":"86.75"},"fareDetailsBySegment":[{"segmentId":"9","cabin":"ECONOMY","fareBasis":"UUSDSI0E","brandedFare":"DISCOUNT","class":"U","includedCheckedBags":{"quantity":0}},{"segmentId":"10","cabin":"ECONOMY","fareBasis":"UUSDSI0E","brandedFare":"DISCOUNT","class":"U","includedCheckedBags":{"quantity":0}},{"segmentId":"83","cabin":"ECONOMY","fareBasis":"UUSDSI0E","brandedFare":"DISCOUNT","class":"U","includedCheckedBags":{"quantity":0}},{"segmentId":"84","cabin":"ECONOMY","fareBasis":"UUSDSI0E","brandedFare":"DISCOUNT","class":"U","includedCheckedBags":{"quantity":0}}]}]}],"travelers":[{"id":"1","dateOfBirth":"1982-01-16","gender":"MALE","name":{"firstName":"JORGE","lastName":"GONZALES"},"documents":[{"number":"00000000","issuanceDate":"2015-04-14","expiryDate":"2025-04-14","issuanceCountry":"ES","issuanceLocation":"Madrid","nationality":"ES","birthPlace":"Madrid","documentType":"PASSPORT","holder":true}],"contact":{"purpose":"STANDARD","phones":[{"deviceType":"MOBILE","countryCallingCode":"34","number":"480080076"}],"emailAddress":"jorge.gonzales833@telefonica.es"}}],"remarks":{"general":[{"subType":"GENERAL_MISCELLANEOUS","text":"ONLINE BOOKING FROM INCREIBLE VIAJES"}]},"ticketingAgreement":{"option":"DELAY_TO_CANCEL","delay":"6D"},"automatedProcess":[{"code":"IMMEDIATE","queue":{"number":"0","category":"0"},"officeId":"NCE4D31SB"}],"contacts":[{"addresseeName":{"firstName":"PABLO RODRIGUEZ"},"address":{"lines":["Calle Prado, 16"],"postalCode":"28014","countryCode":"ES","cityName":"Madrid"},"purpose":"STANDARD","phones":[{"deviceType":"LANDLINE","countryCallingCode":"34","number":"480080071"},{"deviceType":"MOBILE","countryCallingCode":"33","number":"480080072"}],"companyName":"INCREIBLE VIAJES","emailAddress":"support@increibleviajes.es"}]}

这是我的函数`async-flightCancel(data){

var amadeus = await new Amadeus({
  clientId: process.env.API_KEY,
  clientSecret: process.env.API_SECRET
});
// const output=await this.travelBookingsRepo.findOne({where:{ booking_response:"eJzTd9f397V09w8FAAs4AmY%3D"}})
// console.log(output);
this.travelBookingsRepo.update({ booking_response: { id: data } },{Status:'Cancelled'})
return amadeus.booking.flightOrder(data).delete();

}`

我使用entityManager、getManager/getConnection在web上找到了一些解决方案,但这些解决方案已被弃用,不再有效。若问题是关于更新函数,那个么我也用findOne和save方法尝试过,但仍然失败。请帮助我解决问题。

如何使用typeorm在json对象中搜索键值对的更多相关文章

  1. swift – 使用PostgreSQL在Vapor 3中上传图片

    我正在关注这些家伙MartinLasek教程,现在我正在“图片上传”.似乎没有人能回答“如何上传iVapor3图像”的问题Db连接正常,所有其他值都保存.这是我的创建方法:和型号:}和叶子模板:我知道需要一种管理文件的方法和原始图像字节,但我怎么去那里?这使用多部分表单的自动解码:upload.leaf文件是:使用File类型可以访问上载文件的本地文件名以及文件数据.如果将其余的Question字段添加到ExampleUpload结构中,则可以使用该路径捕获整个表单的字段.

  2. Android OS和postgreSQL

    我们正在进行一个Android项目,但需要连接到我们在其他项目中使用的postgresql服务器.有关此起点的任何建议吗?是否有任何东西可以让我们实现这一目标?我意识到这是一个相当普遍的问题,尽管我们在编写桌面客户端/服务器应用程序方面拥有丰富的经验,但我们对移动设备编程的经验却很少.解决方法我会编写一个RestFULAPI或WebService,用作Android设备连接到Postgresql后端的前端.我认为你不能直接将你的Android应用程序连接到Postgresql数据库.

  3. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. node.js三个步骤实现一个服务器及Express包使用

    这篇文章主要介绍了node.js三个步骤实现一个服务器及Express包使用,文章通过新建一个文件展开全文内容,具有一定的参考价值,需要的小伙伴可以参考一下

  5. Node.js调试技术总结分享

    Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome's JavaScript runtime,也就是说,实际上它是对Google V8引擎(应用于Google Chrome浏览器)进行了封装。 今天介绍Node.js调式目前有几种技术,需要的朋友可以参考下。

  6. node.js实现http服务器与浏览器之间的内容缓存操作示例

    这篇文章主要介绍了node.js实现http服务器与浏览器之间的内容缓存操作,结合实例形式分析了node.js http服务器与浏览器之间的内容缓存原理与具体实现技巧,需要的朋友可以参考下

  7. 教你如何使用node.js制作代理服务器

    本文介绍了如何使用node.js制作代理服务器,图文并茂,十分的详细,代码很简洁易懂,这里推荐给大家。

  8. node.js中的fs.openSync方法使用说明

    这篇文章主要介绍了node.js中的fs.openSync方法使用说明,本文介绍了fs.openSync方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下

  9. Node.js+ELK日志规范的实现

    这篇文章主要介绍了Node.js+ELK日志规范的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. node.js爬虫框架node-crawler初体验

    这篇文章主要介绍了node.js爬虫框架node-crawler的相关资料,帮助大家利用node.js进行爬虫,感兴趣的朋友可以了解下

随机推荐

  1. 如何扩展ATmega324PB微控制器的以下宏寄存器?

    我目前正在学习嵌入式,我有以下练习:展开以下宏寄存器:如果有人解决了这个问题,我将不胜感激,以便将来参考

  2. Python将ONNX运行时设置为返回张量而不是numpy数组

    在python中,我正在加载预定义的模型:然后我加载一些数据并运行它:到目前为止,它仍在正常工作,但我希望它默认返回Tensor列表,而不是numpy数组。我对ONNX和PyTorch都是新手,我觉得这是我在这里缺少的基本内容。这将使转换中的一些开销相同。

  3. 在macOS上的终端中使用Shell查找文件中的单词

    我有一个文本文件,其中有一行:我需要找到ID并将其提取到变量中。我想出了一个RexEx模式:但它似乎对我尝试过的任何东西都不起作用:grep、sed——不管怎样。我的一个尝试是:我为这样一个看似愚蠢的问题感到抱歉,但我在互联网上找不到任何东西:我在SO和SE上读了几十个类似的问题,并在谷歌上搜索了几个教程,但仍然无法找到答案。欢迎提供任何指导!

  4. react-chartjs-2甜甜圈图中只有标题未更新

    我正在使用react-chartjs-2在我的网站中实现甜甜圈图。下面是我用来呈现图表的代码。我将甜甜圈图的详细信息从父组件传递到子组件,所有道具都正确传递。当我在beforeDraw函数外部记录props.title时,它会记录正确的值,但当我在beforeDraw函数内部记录props.title时,它将记录标题的前一个值,从而呈现标题的前值。我在这里做错了什么?

  5. 如何在tkinter中使用Python生成器函数?

    生成器函数承诺使某些代码更易于编写。但我并不总是知道如何使用它们。假设我有一个斐波那契生成器函数fib(),我想要一个显示第一个结果的tkinter应用程序。当我点击“下一步”按钮时,它会显示第二个数字,依此类推。我如何构建应用程序来实现这一点?我可能需要在线程中运行生成器。但如何将其连接回GUI?

  6. 如何为每次提交将存储库历史记录拆分为一行?

    我正在尝试获取存储库的历史记录,但结果仅以单行文本的形式返回给我。

  7. 尝试在颤振项目上初始化Firebase时出错

    当尝试在我的颤振项目上初始化firebase时,我收到了这个错误有人知道我能做什么吗?应用程序分级Gradle插件Gradle项目颤振相关性我已经将firebase设置为Google文档已经在另一个模拟器上尝试过,已经尝试过创建一个全新的模拟器,已经在不同的设备上尝试过了,已经尝试了特定版本的firebase,已经尝试添加但没有任何效果,已经在youtube上看到了关于它的每一个视频,该应用程序在android和iOS两个平台上都抛出了这个错误

  8. 在unix中基于当前日期添加新列

    我试图在unix中基于时间戳列在最后一个单元格中添加一个状态列。我不确定如何继续。

  9. 麦克斯·蒙特利。我一直得到UncaughtReferenceError:当我在终端中写入node-v时,节点未定义

    如果这是您应该知道的,请确认:我已将所有shell更改为默认为zsh。当我在终端中写入node-v时,我一直收到“UncaughtReferenceError:nodeisnotdefined”。但它显示节点已安装。我是个新手,在这方面经验不足。

  10. 如何在前端单击按钮时调用后端中的函数?

    那么如何在后端添加一个新的端点,点击按钮调用这个函数。

返回
顶部