MongoDB#Code和Function

server/2025/2/28 21:54:20/

背景

在MongoDB Shell中, 使用db.system.js.inertOne 新增一个自定义函数后,读取值类型显示Code Class,该如何使用?Code类型和Function能互相转换吗?

实践

// 保存一个函数到 system.js 集合
db.system.js.insertOne({_id: "myFunction",value: function(x) { return x * 2; }
});// 查询 -> Code('function(x) {return x * 2;}')
const myFunction = db.system.js.findOne({ _id: "myFunction" }).value;
// 直接调用执行myFunction报错:myFunction is not a function.// 转换成Function -> [Function (anonymous)]
const myFunc = eval(`(${myFunction.code})`)// 执行 -> 4
myFunc(2)

转换

// Function -> Code
const myFunc = function() {return 'hello world!';}
const myCode = new Code(myFunc.toString())// Code -> Function
const sumCode = new Code('function(a, b) { return a + b; }')
const sumFunc = new Fucntion('return ' + sumCode.code)
sumFunc()(1, 2)

注意

  • 以上都是在MongoDB Shell中操作
  • Code Class详见
  • TypeError: xxx is not a function

说明xxx函数或类型在当前版本中已经被移除或不再支持(注意版本API变更)


http://www.ppmy.cn/server/171391.html

相关文章

矩阵碰一碰发视频源码搭建之,支持OEM

引言 阵碰一碰发视频" 技术凭借其便捷的交互方式和高效的传播能力,已成为品牌推广和内容创作的重要工具。为进一步提升视频传播效果,本文将深入探讨如何在矩阵碰一碰系统中集成 AI 文案生成功能,实现 "一碰即传 智能文案" 的…

flask后端开发(8):Flask连接MySQL数据库+ORM增删改查

目录 数据库初始化数据库连接创建数据库表添加用户查询用户更新用户删除 在Flask中,很少会使用pymysql直接写原生SQL语句去操作数据库,更多的是通过SQLAichemy提供的ORM技术,类似于操作普通Python对象一样实现数据库的增删改查操作&#xf…

网络安全体系

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 网络安全体系 目前计算机网络面临的主要风险包括利用系统漏洞、暴力破解密码、病毒和木马、系统扫描、DoS、网络钓鱼和中间人攻击(MITM)等…

docker container 修改 Mounts

docker container 修改 Mounts 原创 mob64ca12f212462024-05-12 06:11:57©著作权 文章标签docker重启Docker文章分类Docker云计算阅读数332 给大家分享了关于【Docker】的学习资料: https://edu.51cto.com/course/34009.html Docker容器修改Mounts 在Dock…

深度探索:DeepSeek与鸿蒙HarmonyOS应用开发的深度融合

文章目录 一、概述1.1 什么是DeepSeek?1.2 鸿蒙HarmonyOS的特点 二、技术优势与应用场景2.1 技术优势2.2 应用场景 三、开发指南3.1 环境搭建3.2 集成AI模型3.3 分布式任务调度 四、实际案例分析4.1 智能家居控制4.2 智能健康监测 五、未来展望《AI智能化办公&#…

基于Spring Boot和Vue的餐饮管理系统设计与实现

大家好,今天要和大家聊的是一款基于Spring Boot和Vue的餐饮管理系统的设计与实现。项目源码以及部署相关事宜请联系我,文末附上联系方式。 项目简介 基于Spring Boot和Vue的餐饮管理系统设计与实现的主要使用者分为管理员、员工和用户。没有授权的用户无…

IO进程 day05

IO进程 day05 9. 进程9. 9. 守护进程守护进程的特点守护进程创建步骤 10. 线程10.1. 线程的概念10.2. 进程和线程的区别10.2. 线程资源10.3. 线程的函数接口1. pthread_create-创建线程线程函数和普通函数的区别 2. pthread_exit3.线程资源回收函数join和detach的区别 获取线程…

Java 抽象类与接口:深入理解与应用

文章目录 Java 抽象类与接口:深入理解与应用1. 抽象类(Abstract Class)1.1 定义1.2 特点1.3 使用场景 2. 接口(Interface)2.1 定义2.2 特点2.3 使用场景 3. 抽象类与接口的区别4. 如何选择抽象类还是接口?5…