如何在 MongoDB BSON 文档中定义布尔字段?

How to define a boolean field in MongoDB BSON document?

我正在尝试将布尔值 status 字段添加到 MongoLabs 上的文档,但是当我尝试保存时,我在该特定字段上遇到了语法错误。

根据 docs,类型说明符似乎 8 看起来不错,但我找不到任何关于在文档中定义布尔字段的示例。

我设法将错误归因于状态字段,因为文档保存时未添加此字段。

任何人都可以建议布尔字段的正确 BSON 语法吗?

这是我添加的布尔字段:

 "status": {
     {"$type": 8 } : true
}

完整文档供参考:

{
    "_id": {
        "$oid": "565c4a37e4b0ed4652848949"
    },
    "email": "jd@outlook.com",
    "products": [
        {
            "productId": "0121",
            "price": 12.5,
            "description": "A generic muffin"
        },
        {
            "productId": "0122",
            "price": 13.5,
            "description": "A generic coffee"
        },
        {
            "productId": "0123",
            "price": 14.5,
            "description": "A generic tea"
        }
    ],
    "date": {
        "$date": "2014-03-03T03:45:00.000Z"
    },
     "status": {
         {"$type": 8 } : true
    }
}

以防其他人遇到同样的问题。存储在MongoLabs上的数据是JSON,然后在本地使用驱动转换成BSON。

下面正确的格式如下:

{
  "status": true
}

如果您想知道如何在 node.js 的模型 class 中定义布尔值。如果您使用 MongoDB.

shopOpenStatus: {
  type:Boolean,
  default:"false",
  required:true
}

我花了 10 分钟才发现这一点。