Javascript 对象打印为对象对象

2023-12-13

我对节点和 mongo db 都非常陌生。我正在创建从节点到 Mongo 的连接并尝试 CRUD 操作。我的操作在 Operations.js 中定义,并且我从索引调用函数。

我面临的问题是当我打印回调参数时

coll.find({}).toarray()- 这就是我得到所需输出的结果

[
  {
    _id: 5ea4843b0f28320524d23f14,
    name: 'Vadonut',
    description: 'Test Vadonut'
  },
]

但是当我打印index.js 的结果(这是来自operation.js 中的函数回调的结果)时,我得到的输出为

[object Object]

我可以得到这方面的帮助吗????

索引.js:

const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
const dboper = require('./operations')
const url = "mongodb://localhost:27017/";
const dbname = "dishes";

MongoClient.connect(url,(err,client)=>{
    assert.equal(err,null);

    console.log("Connected correctly correct to the server");

    const db =client.db(dbname);


    dboper.insertdocument(db,{"name":"Vadonut","description":"Test Vadonut"},'dishes',(result)=>{
        console.log('Insert Document:\n'+result);

        dboper.finddocument(db,'dishes',(result)=>{
           console.log("Found Documents :\n"+result);
    })

})  

****操作.js****

const assert = require('assert');

exports.insertdocument = (db,document,collection,callback)=>{
    const coll = db.collection(collection);
    coll.insertOne(document,(err,result)=>{
        assert.equal(err,null);
        console.log("Inserted " + result.result.n + "documents inserted into the collection"+collection);
        console.log(result.ops);
        callback(result);

    })

};

exports.finddocument = (db,collection,callback)=>{
    const coll = db.collection(collection);
    coll.find({}).toArray((err,docs)=>{
        assert.equal(err,null);
        console.log(docs);
        callback(docs);
    })
};

[object Object]是对象的默认/自动字符串转换。

因此,如果您在字符串操作表达式中的任何位置使用对象,如下所示:

let x = {greeting: "hello"};
let str = "I would like to say the greeting " + x;
console.log(str);

然后,JS解释器会尝试转换你的对象x到一个字符串,默认的字符串转换将是[object Object]所以你会得到以下结果:

 I would like to say the greeting [object Object]

您需要做的是避免在字符串表达式中的任何位置使用 Javascript 对象,或者使用以下命令将对象显式转换为 JSONJSON.stringify()在将其包含在字符串表达式中之前。

我会替换这个:

console.log("Inserted " + result.result.n + "documents inserted into the collection"+collection);

有了这个:

console.log("Inserted ",  result.result.n, "documents inserted into the collection", collection);

然后,您将整个对象传递给console.log()它会在它们上显示正常的对象,而不是让 JS 尝试将它们自动转换为字符串。

您还可以手动将这些对象转换为字符串形式JSON.stringify(result.result.n)然后在字符串表达式中使用它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 对象打印为对象对象 的相关文章

  • ExtJs4 Json TreeStore?

    我正在将 ExtJs3 应用程序迁移到 ExtJs4 在 ExtJs3 中 我有一个树网格 它有一个加载器来加载树数据 如下所示 loader new Ext tree TreeLoader dataUrl Department Depar
  • 如何获取数组中对象的属性名称?

    这是我的数组 var testeArray name Jovem1 esteira Macaco name Jovem esteira Doido horse Chimbinha 从上面 我想得到一个像这样的数组 var propertyN
  • React 和 Leaflet 结合的好方法

    我正在开发一个将 React 和 Leaflet 结合起来的项目 但我必须说我在语义方面遇到了一些困难 由于大部分内容都是由 Leaflet 直接管理的 我不知道将 Leaflet 映射实例添加为 React 组件中的状态是否有意义 当涉及
  • 使用 Jasmine 监视 Backbone.js 路由调用

    在主干路由器上监视方法调用时遇到问题 以确保它在给定路由上调用正确的方法 测试摘录 describe Router gt beforeEach gt router new App Router Backbone history start
  • 无法使用 Node.JS 将 null 值发送到 MySQL 数据库

    我正在尝试发送null使用 Node JS 到我的 MySQL 数据库 con query INSERT INTO Routes routeTrigger VALUES null title test function err result
  • 如何获取 CSS 旋转元素的实际(非原始)高度

    我需要获取几个不同元素的实际高度 为了精确的自定义工具提示定位 并且其中一些元素 不是全部 被旋转 elem outerHeight 返回原始高度 而不是实际显示的高度 这是一个非常简单的例子 http jsfiddle net NPC42
  • 使用西里尔字母的正则表达式

    我有一个用于文本区域字段中字数统计的 jQuery 函数 此外 它排除所有用 三重括号 封闭的单词 它对于拉丁字符效果很好 但对于西里尔字母句子有问题 我认为错误部分与正则表达式有关 field val replace g match b
  • 元素上的 jQuery touchSwipe 事件阻止滚动

    我有一些清单div元素垂直排序 使用jQuery TouchSwipe 插件 https github com mattbryson TouchSwipe Jquery Plugin添加了滑动事件来捕获左右滑动 想法是通过向左或向右滑动来从
  • 如何从回调函数中获取值

    我对 javascript 比较陌生 并且面临一些困难 我有两个 java 脚本文件 如下所示 我无法获取变量的值条目标题在 getRss 函数内并将其存储在变量内Rss1 标题 and Rss2 标题 创建一个全局变量并将其分配给条目标题
  • Imperavi Redactor 内容未复制到隐藏文本区域

    我正在尝试使用因佩拉维编辑器 http imperavi com redactor 在这里控制我的富文本编辑 div class control group div class controls div div document ready
  • 为什么这些 Javascript for 循环在 Firefox 上比 Chrome / Safari 上慢得多?

    我在搞基准网站jfprefs http jsperf com 并创建了我自己的基准http jsperf com prefix or postfix increment 9 http jsperf com prefix or postfix
  • JavaScript/Angular 1 - Promise.all 到 async-await

    我在两个变量中分配了对 Web 服务的两次调用referencesPromise and contactTypesPromise onInit 如果需要 我可以为此创建一个新方法 onInit const referencesPromise
  • 所有属性的 JavaScript getter

    长话短说 我现在的情况是想要一个 PHP 风格的 getter 但是是 JavaScript 的 我的 JavaScript 仅在 Firefox 中运行 因此 Mozilla 特定的 JS 对我来说没问题 我能找到的制作 JS gette
  • 解密Javascript源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经编写了一段 JavaScrip
  • JavaScript 将 NULL 转换为 0

    我正在使用 jQuery 来获取元素的高度 但如果该元素不存在 以下代码将返回 NULL height menu li active ul height returns integer or null 这是一种跨浏览器安全的方法 可以使用以
  • 不用AJAX,前台同步拖放文件上传?

    我有一个定期的网站
  • 错误:UNABLE_TO_VERIFY_LEAF_SIGNATURE Phonegap 安装

    我正在尝试在 Ubuntu 中安装 Phonegap NodeJS 安装成功 但是我无法安装 Phonegap 本身 这是终端的错误输出 test test VirtualBox sudo npm install g phonegap np
  • 如何使用 jQuery AJAX 和 JSON 通过 Bootbox 确认表单提交

    我正在使用一个网络应用程序工作Spring MVC 我试图在提交表单之前显示一个确认对话框Bootbox 但我收到 500 内部服务器错误 这是我的表格
  • Ruby 数组到 Javascript 数组

    我有一个带有帐户 ID 的 Ruby 数组 我想将帐户 ID 的 Ruby 数组存储在 Javascript 数组中 我想知道最好的方法是什么 另外 当我尝试执行此操作时 Javascript 似乎认为如果只输入一个帐户 ID 则该 ID
  • 内联 YouTube 视频在 iOS 上的 cordova 应用程序中不起作用

    我用 cordova 开发了一个移动应用程序 我确实需要能够播放内联 YouTube 视频 我尝试了一段时间来解决它 我设置了属性playsinline to 1在 YouTube iframe API 中 I put

随机推荐

  • 表单提交成功后重定向

    我有一个表单 应在按下提交按钮后提交数据 根据需要标记几个输入字段后 按下提交按钮后 当必填字段中没有输入时 表单总是向我显示 到目前为止 一切都很好 我想意识到的是 如果提交成功 则会重定向到另一个页面 如果有一些空的必填字段 表单应该向
  • NHibernate 一对多关系的聚合查询

    我有下一个实体 class Topic public virtual int Id get private set public virtual ICollection
  • Elasticsearch(6.5) 高级 Java Rest 客户端按名称删除索引不起作用

    我可以通过传递索引名称 类型和 id 来删除文档 如下所示 DeleteRequest deleteRequest new DeleteRequest data getIndexName data getType data getUniqu
  • 自动更正Python中的缩进错误

    我正在尝试修复 Python 脚本中的一些缩进错误 有没有办法在线自动纠正错误或使用其他实用程序 我希望这个错误非常熟悉 但想再次避免这种情况 有编辑器可以帮助解决这些问题吗 IndentationError 需要一个缩进块 一般来说这是不
  • 如何在 iPad 编码中将分割视图添加到基于视图的应用程序

    我使用基于视图的应用程序启动了我的 iPad 应用程序 在前两个视图中 我添加了表格视图 现在作为第三个视图 我想将 splitView 添加到视图中 为此 我将 splitview 控制器添加到我的 xib 文件中 我该如何编写编程部分
  • 如何使 UINavigationBar 不下推视图?

    我有多个UIViewControllers in a UINavigationController 有时我会显示酒吧 有时则不会 如何在不按下视图的情况下显示导航栏 导航栏将始终向下推视图 除非将其设置为半透明
  • 缩短 MongoDB 属性名称值得吗?

    In mongodb 文档作者提到缩短属性名称是个好主意 使用较短的字段名称 以及来自 How to Node 的旧博客文章 截至 2022 年 4 月编辑已离线 经常报告的 mongoDB 问题是 磁盘上数据的大小 每条记录都存储所有字段
  • 获取Singleton类实例多线程

    要获取具有单例模式的类的实例 我想使用以下函数 这是一个草图 interface uses SyncObjs type TMCriticalSection class TCriticalSection private Dummy array
  • Angular 2 observable-subscribe 显示未定义

    我面临着与 SO 帖子中相同的挑战here尽管在我的服务中我有数据 但我的 component ts 中的订阅方法未定义 请参阅下面的代码 p 组件 ts private getPayItems void console log In ge
  • Git:“git 克隆”到现有文件夹的最佳实践是什么?

    我有该项目的工作副本 没有任何源代码控制元数据 现在 我想在该文件夹中执行相当于 git clone 的操作 并保留本地更改 git clone 不允许我克隆到现有文件夹中 这里的最佳实践是什么 这可以通过克隆到新目录 然后移动 git目录
  • 更改会话中的 tempdir() (更新 R_TempDir)

    我正在寻找一种方法来改变tempdir R 会话开始后的位置 我认为需要更新C级全局变量R TempDir 从 R 内部完成此操作的好方法是什么 更新 西蒙 厄本内克斯unix 工具包有一个函数可以完成这个任务 代码如下 以供将来参考 se
  • Spring Boot 提供被安全阻止的静态内容

    我启动了 Spring Boot Angular 应用程序 现在我想将整个应用程序部署为 jar 所以我创建了 Maven 配置 其中构建了 Angular 应用程序 然后将其复制到 target classes resources 但每个
  • 最小成本的动态规划问题[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个手机信号塔问题 有n个城镇 我们想在一些城镇建造手机信号塔 每个蜂窝塔都可以覆盖自己及其邻居 每个城镇都有建造手机信号塔的费用 我们想找出建造覆盖所有城镇的手机信号塔的最低成
  • 如何在 Hyperledger Composer 查询中显示交易输入数据

    我正在尝试构建一个历史查询 它允许我查看交易 及其原始输入 我正在尝试基于这个问题的想法https github com hyperledger composer issues 1850 但这已在 Composer Playground 中
  • A a() 是什么意思? [复制]

    这个问题在这里已经有答案了 考虑这段代码 include
  • 角度材质对话框显示两次

    我使用 Leaflet 绘制地图 并尝试使用 Angular Material 来显示一些模态 但遇到了问题 模态 ModalComponent 应该在用户单击地图时打开 我为此添加了单击事件 请参阅MapComponent 在这个事件中
  • 将py文件转换为exe,找不到现有的PyQt5插件目录

    我对 phyton 很陌生 刚刚完成了我的第一个应用程序 现在 我正在尝试将我的 py 文件编译为似乎不起作用的 exe 购买 我到处寻找解决我问题的方法 但似乎找不到 当我运行此命令时 pyinstaller gui py 显示此错误 4
  • MPMediaItem - MPMediaItemArtwork 的 NSCoding 问题

    因此 MPMediaItem 符合 NSCoding 但它包含一个指向 MPMediaItemArtwork 的指针 该指针不符合 NSCoding 因此 如果我尝试存档 MPMediaItem 如果该项目中有一些艺术品 则它将无法取消存档
  • 如何在C#中调用C++ DLL

    我用 dev C 编写了一个 DLL 该DLL的名称是 DllMain dll 它包含两个函数 HelloWorld and ShowMe 头文件如下所示 DLLIMPORT void HelloWorld DLLIMPORT void S
  • Javascript 对象打印为对象对象

    我对节点和 mongo db 都非常陌生 我正在创建从节点到 Mongo 的连接并尝试 CRUD 操作 我的操作在 Operations js 中定义 并且我从索引调用函数 我面临的问题是当我打印回调参数时 coll find toarra