Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有混合类型行为的Mongoose模式_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 具有混合类型行为的Mongoose模式

Javascript 具有混合类型行为的Mongoose模式,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我有一个如下声明的事件模式: var EventSchema = new Schema({ type: String, action: String, createdAt: { type : Date, default : Date.now }, payload: {}, }); 我正在尝试使用此散列创建一个新实例,为了清晰起见,省略了其他属性: { "payload": { "apikey": { "created_at": "2014-07-22T1

我有一个如下声明的事件模式:

var EventSchema = new Schema({
  type: String,
  action: String,
  createdAt: { type : Date, default : Date.now },
  payload: {},
});
我正在尝试使用此散列创建一个新实例,为了清晰起见,省略了其他属性:

{
  "payload": {
    "apikey": {
      "created_at": "2014-07-22T18:35:19.995Z",
      "id": 1,
      "owner_id": 3,
      "owner_type": "User",
      "permissions": [
        {
          "can_create": false,
          "can_delete": false,
          "can_read": false,
          "can_update": false,
          "created_at": "2014-07-22T18:37:18.111Z",
          "id": 3,
          "key": "second",
          "role_id": 1,
          "updated_at": "2014-07-22T18:37:18.121Z"
        },
        {
          "can_create": false,
          "can_delete": false,
          "can_read": false,
          "can_update": false,
          "created_at": "2014-07-22T18:37:18.111Z",
          "id": 2,
          "key": "permission-key-2",
          "role_id": 1,
          "updated_at": "2014-07-22T18:37:18.121Z"
        }
      ],
      "realm_id": 6,
      "realm_type": "Organization",
      "secret": "c35ca06eab38850493bae0f974787587",
      "token": "a9e4691ebc1551b6b1ee2147397248a6",
      "updated_at": "2014-07-22T18:40:26.553Z"
    }
  }
}
但不是保存在我发送的结构中,而是这样保存:

{
    "apikey": {
        "created_at": "2014-07-22 18:35:19 UTC",
        "id": "1",
        "owner_id": "3",
        "owner_type": "User",
        "permissions": {
            "can_create": [
                "false",
                "false"
            ],
            "can_delete": [
                "false",
                "false"
            ],
            "can_read": [
                "false",
                "false"
            ],
            "can_update": [
                "false",
                "false"
            ],
            "created_at": [
                "2014-07-22 18:37:18 UTC",
                "2014-07-22 18:37:18 UTC"
            ],
            "id": [
                "3",
                "2"
            ],
            "key": [
                "second",
                "permission-key-2"
            ],
            "role_id": [
                "1",
                "1"
            ],
            "updated_at": [
                "2014-07-22 18:37:18 UTC",
                "2014-07-22 18:37:18 UTC"
            ]
        },
        "realm_id": "6",
        "realm_type": "Organization",
        "secret": "c35ca06eab38850493bae0f974787587",
        "token": "a9e4691ebc1551b6b1ee2147397248a6",
        "updated_at": "2014-07-22 18:40:26 UTC"
    }
}

你知道为什么吗?

我刚测试过,效果很好。@LeonidBaschastny你使用的是哪个版本的MongoDB、mongoose、nodejs和/或express?MongoDB 2.4.10、mongoose 3.8.8、node 0.10.22。您的问题中没有关于express的内容。如果您愿意,我可以尝试使用您的node和mongoose版本。