当前位置: 首页 > 知识库问答 >
问题:

Mongoose-数组保存为字符串

葛阳华
2023-03-14

在我的模式文件中,我试图将类型属性设置为数组。正如这里所见

import mongoose from "mongoose";

const model = mongoose.Schema({
    _id : mongoose.Schema.Types.ObjectId,
    "type" : Array,
})

export const Stocks = mongoose.model("stocks", model)

尽管出于某种原因,当我试图保存文档时,它会将文档保存为字符串,即使它是数组中的元素,它仍会返回字符串。这是我保存文档的代码;

export async function sendStock(data) {
    if (!data) throw new Error("Missing Stock API Data")

    let stock = {
        _id: mongoose.Types.ObjectId(),
        "type": [ data["put_call"] ],
    }

    Stocks.findOne({"ticker": stock.ticker}, (err, res) => {
        if (!res) return new Stocks(stock).save();
  })
}

这是在网站中查看的猫鼬模式https://i.stack.imgur.com/TACoo.png

我在mongoose方面不是最棒的,但是,我确信有些事情发生了,但是我没有将文档保存到任何其他地方,而是仍然保存一个字符串。

共有2个答案

白驰
2023-03-14

试试这个:

import mongoose from "mongoose";

const model = mongoose.Schema({
    _id : mongoose.Schema.Types.ObjectId,
    type : { type: []},
})

export const Stocks = mongoose.model("stocks", model)
叶德运
2023-03-14

你的模型应该是这样的

import mongoose from "mongoose";

const model = mongoose.Schema({
    _id : mongoose.Schema.Types.ObjectId,
    type : [String], //<=== I'm assuming you are receiving string array
})

export const Stocks = mongoose.model("stocks", model)

此外,您可能希望格式化保存的值,就好像它不是以数组的形式出现一样,它将失败。

 类似资料:
  • 我不能使用将字符串数组保存到我的数据库中。 (请注意,为了便于编写,下面的所有代码都被简化了) 因此,我声明了person模式的一个变量: 模式本身看起来像: 说到储蓄,它只是一个简单的问题: 所以使用邮递员,我在体内发送一个数组-然而每次我检查数据库,它只是显示一个条目与数组作为一个整体,即我如何发送它: 你知道我应该多做些什么吗?

  • 我有一个mongoose对象模式,看起来类似于以下内容: 我试图创建一个新的职位使用以下内容: 但是,一旦我保存了文章,它就会被创建为带有images属性的空数组。我做错了什么?

  • 我有一个对象,它的父类可以设置_id字段,也可以不设置。 在这种情况下,没有设置_id字段,我将一个对象传递给 收集insertOne(对象) 通常情况下,mongo会为未指定的_id生成一个ObjectId(),但由于某种原因,每当_id由父类指定且未设置时,它会生成一个id,bug会将id保存为数据库中的字符串,而不是ObjectId。 我所经历的 {“name”:“name”} 预期: {“

  • 在C++中将二维字符数组复制到一维数组字符串中最简单的方法是什么? 大概是这样的: 问候蒂尔曼

  • 问题内容: 我有ObjectId的字符串。 我如何使用它: 创建“评论”模型并分配字符串user_id值或发布时,保存时出现错误。我将所有数据分配给vars。 我尝试: TypeError:对象函数ObjectID(id){ TypeError:无法调用未定义的方法“ ObjectId” TypeError:无法读取未定义的属性“ ObjectId” 当然, 在所有通话之前* ,我还包括了猫鼬 *

  • 我有问题保存我的数组列表。当应用程序销毁或更改意图或更改方向时,我想保存我的数组列表: 首先,我尝试保存在文件中,但Paint类不是可序列化类。第二,我尝试使用onSaveInstanceState(Bundle outState)/onRestoreInstanceState(Bundle savedInstanceState),但我无法保存Arraylist;第三,我尝试使用数据库,但没有任何