【问题标题】:Is there anything like SQLs Decimal in MongoDB?MongoDB中是否有类似SQLs Decimal的东西?
【发布时间】:2019-02-18 06:33:18
【问题描述】:

MySQL Decimal 中有很好的数据类型,可以很好地存储价格,例如:

CREATE TABLE books( title VARCHAR(100), author VARCHAR(100), price DECIMAL(6,2));

那么如何在 MongoDB 中创建类似的架构? 我在那里找不到像DECIMAL 这样的东西。 到目前为止,我在 node.js+mongoose 中的代码如下所示:

const booksSchema = new Schema({
    title: String,
    author: String,
    price: Number
});

【问题讨论】:

    标签: node.js mongodb mongoose decimal


    【解决方案1】:

    在 v3.4 中引入了一种名为 Decimal128 的数据类型。所以数据库支持它。

    https://docs.mongodb.com/manual/reference/bson-types/

    但 node.js/mongoose 可能不会,因为 javascript 中的所有数字都是浮点数。见下面 Stennie 的评论。

    【讨论】:

    • MongoDB Node.js 驱动程序有一个Decimal128 class,Mongoose 4.8.0+ 也有对小数类型的模式支持。与 Node 3.1 驱动程序一样,不支持客户端十进制算法,因此您必须转换为不同的表示形式或在 MongoDB 服务器上执行计算。当前 Mongoose 维护者的有用博客文章:A Node.js Perspective on MongoDB 3.4: Decimal Type
    猜你喜欢
    • 2021-09-29
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多