MongoDB#Code和Function

news/2025/2/25 15:31:39

背景

在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.niftyadmin.cn/n/5865655.html

相关文章

课程1. 深度学习简介

课程1. 深度学习简介 神经网络结构逻辑回归XOR问题(异或问题) 中间特征的生成全连接神经网络中间网络层的激活函数Sigmoid函数Tanh函数ReLU函数其它激活函数 使用全连接神经网络解决 XOR 问题神经网络用于回归问题训练神经网络 不同类型的神经网络 附加材…

OpenCV计算摄影学Computational Photography

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算摄影学(Computational Photography)是一门结合了数字图像处理、计算机视觉和光学的交叉学科领域,旨在通过…

GMII(Gigabit Media Independent Interface)详解

一、GMII的定义与作用 GMII(千兆介质无关接口)是用于千兆以太网(1Gbps)的标准化接口,连接 MAC层(数据链路层)与 PHY芯片(物理层)。其核心目标是支持高速数据传输&#x…

MySQL的三种并发问题和四种隔离级别

阅读之前,请心里默念,脏读、不可重复读、幻读是三种常见的并发问题,隔离级别是应对并发问题的四种隔离级别,隔离级别和并发问题是两个东西,不要混淆。 在数据库事务中,脏读(Dirty Read&#xff…

hbase笔记总结1

hbase是nosql的一种,非关系型数据库,not only sql,可处理大规模、高并发的数据,是web2.0以后的产物hbase的扩展性和灵活性更好,而且筛选能力相较于MySQL更优nosql的四大特点: 灵活的数据模型 (1…

数学建模之数学模型—2:非线性规划

文章目录 非线性规划基本概念与结论凸集与凸函数极值条件无约束条件的极值判断条件有约束条件的极值判断条件 无约束非线性规划一维搜索算法步骤示例特点代码模板 最速下降法算法详细步骤 代码实现示例最优步长的求解 黄金分割法斐波那契法牛顿法阻尼牛顿法模式搜索法Powell方法…

玩客云刷机教程Armbian_5.67把你的玩客云改造成一个小型的Linux服务器(保姆级教程)

最近买了一个玩客云,打算用来消耗下行带宽,那么就让我们来记录这个过程吧。 准备材料 1.玩客云主机 2.USB双公线 3.DC5525电源 4.Armbian_5.67_Aml-s805_Debian_stretch_defaultEMMC直刷包(文件来源于网上,点击这里可直接下载…

【学习笔记】LLM+RL

文章目录 1 合成数据与模型坍缩(model collapse),1.1 递归生成数据与模型坍缩1.2 三种错误1.3 理论直觉1.4 PPL指标 2 基于开源 LLM 实现 O1-like step by step 慢思考(slow thinking),ollama,streamlit2.1…