我对Mongo / express数组解析有问题。当我在节点控制台中进行console.log响应时,来自正文的数组似乎是正确的。但是问题是当我尝试使用insert.one方法将正文保存到mongo.db时,帖子被保存了,但是数组变成了字符串,这对我不利。
这是我要发送给mongo的内容(数据正常,我用console.log记录,这里的数组不是字符串)
{
createdBy: this.userName,
postContent: this.post,
tags: this.tags,
addedAt: new Date()
};
这就是存储在数据库中的内容
更新: 当我将数组硬编码为有效负载时,它在mongo中正确显示为数组。 但是对于动态数据当然仍然存在问题
答案 0 :(得分:0)
您应该能够使用JSON解析和替换来强制它接受字符串作为数组,如下所示:
const array = JSON.parse(this.tags.replace(/'/g, '"'));
然后将标签设置为array
的值:
tags: array
答案 1 :(得分:0)
使用数据类型作为数组-4并使用.pretty()。
通常,如果使用find()方法,则以密集格式返回数据。 通过使用cursor.pretty(),您可以将光标设置为以人类易于解析的格式返回数据