gpt4 book ai didi

node.js - Mongoose :转换到对象数组失败的值[{"someKey": "someValue"}]

转载 作者:可可西里 更新时间:2023-11-01 10:41:00 27 4
gpt4 key购买 nike

每当我尝试将具有此架构的文档保存到我的数据库中时,我都会遇到错误:

var schemaForBooks = new Schema({
book: String,
author: String,
who_has_this: Object,
points: Number,
upvoted_by_users: [Schema.Types.ObjectId],
downvoted_by_users: [Schema.Types.ObjectId]
});

其余一切都很好,但是将任何内容放入 upvoted_by_usersdownvoted_by_users,我收到此错误:

[ERROR] Trace- CastError: Cast to [ObjectId] failed for value "[{"userName":"Vibhu","userId":"3833d1g870feaf4a38723"}]" at path "upvoted_
by_users"

我很确定我对模式本身做错了什么,但我不知道是什么。

如有任何帮助,我们将不胜感激。

最佳答案

错误表明您正在尝试将以下对象数组 {"userName":"Vibhu", "userId":"3833d1g870feaf4a38723"} 转换为 ObjectId 数组

因此,您需要摆脱 userName 字段,这样您就可以将 String + ObjectId 数组转换为对象 ID

你可以在你的 js 数组上使用 Array#map 方法,例如:

var arr = [{"userName":"Vibhu","userId":"3833d1g870feaf4a38723"}];
var myCorrectArr = arr.map(field => field.userId);

希望对你有帮助,
最好的问候,

关于node.js - Mongoose :转换到对象数组失败的值[{"someKey": "someValue"}],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44484827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com