请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么小程序云数据库中只显示[object object]

图片描述

通过调用http api向数据库中插入了一条记录,params本身是一个对象,但是插入到云数据库中之后只显示为word: [object object],如下图:
图片描述
请问这是为什么呀?

怎样才能直接插入一个对象到数据库中,而且数据库可以正常显示呢?

谢谢老师!

正在回答

3回答

试试这样,先定义一个字符串:

const contentStr = JSON.stringify(params.title)

然后在拼接query字符串的地方:

data: {

    word: ${contentStr}

}

0 回复 有任何疑惑可以回复我~
  • 提问者 陈双辞 #1
    谢谢!
    回复 有任何疑惑可以回复我~ 2021-03-05 11:42:07
提问者 陈双辞 2021-03-04 14:51:00

如果写成

data:{
    date:'${new Date()}',
    title: '${params.title}',
    }
    
})
`

可以将params对象中的属性单独添加到数据库,而且可以正常显示,但是如果是params对象中的数组,比如

data:{
    content: '${params.content}', // content是个数组
    }
    
})
`

在成功将记录插入到数据库中之后,还是会显示[object object],请问有什么办法可以避免这种情况吗?

如果就想把一个对象完全展开,然后插入到云数据库中,怎样保证插入之后是可以直接在云数据库中读取并且编辑的呢?

0 回复 有任何疑惑可以回复我~
谢成 2021-03-04 10:25:30

这里是不是多了一个引号:

https://img1.sycdn.imooc.com//szimg/6040451109009e3717441052.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 陈双辞 #1
    把那个多余的引号去掉了之后又报这个错?:
    {
      errcode: -605101,
      errmsg: "SyntaxError: Line 4, column 24: Unexpected token 'identifier' hint: [vfBbKowFE-3q7aYa] rid: 6040574d-0ce4e383-2cee663a"
    }
    
    如果把${params}部分也用引号引起来,写成data:{
    'word': '${params}'
    }
    就可以成功向云数据库中添加一条记录,但是在云数据库中看不到对象的信息,只能看到上面截图中显示的[object] [object]。
    回复 有任何疑惑可以回复我~ 2021-03-04 11:46:17
  • 提问者 陈双辞 #2
    之前是通过调用数据库插入的数据,不行,所以我又试了试通过http api调用云函数向数据库中插入数据,但还是没法把对象展开,插入数据库之后还是会显示为[object Object]?
    回复 有任何疑惑可以回复我~ 2021-03-05 00:52:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信