访问Mongo嵌套的十进制对象

时间:2019-04-08 01:49:41

标签: javascript reactjs mongodb typescript

我正在使用MongoDB(不是本地的),并且在集合中有一个条目,如下所示。

name: "fancy name" 
description: "fancy description" 
category: "fancy category" 
options: Object 
   small: 5.35
   medium: 9.25
   large: 16.00

但是,当我尝试访问“选项”时,会得到另一个对象,而不是列出的数字。例如,如果我执行以下操作:

console.log(item.options)

我知道:

small: {$numberDecimal: "5.35"}
medium: {$numberDecimal: "9.25"}
large: {$numberDecimal: "16.00"}

所以我的问题是,如果要访问代码(打字稿)中的ACTUAL NUMBER,该怎么办?当我从数据库中读取数据时,我将它们读取到具有以下字段的界面中:

export interface Item {
    _id: string;
    name: string;
    price: number;
    description: string;
    category: string;
    options?: ItemOptions;
}

export interface ItemOptions {
    small: number;
    medium: number;
    large: number;
}

1 个答案:

答案 0 :(得分:0)

也许您已经知道了,但是在从数据库中检索对象时是否尝试过.toJSON()?另一种可能性是在获取.lean()时使用它。

db.collection.find().lean()(如果您使用的是mongoose