虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > MongoDB数据库 > mongodb保存数据时,字段名带点号时保存会以子文档的形式保存

mongodb保存数据时,字段名带点号时保存会以子文档的形式保存
类别:MongoDB数据库   作者:码皇   来源:<a href="http://blog.csdn.net/u013066244" target="_blank" rel="nofollow&   点击:

mongodb保存数据时,字段名带点号时保存会以子文档的形式保存,我们可以看到保存的字段例如:Go-Goal新一代V3 0是带有点号的。
mongodb保存数据时,字段名带点号时保存会以子文档的形式保存。

例子

我要保存这样的数据:

    {
    "date" : {
    "$date" : "2016-10-09T16:00:00.000Z"}
    , "createtime" : {
    "$date" : "2016-12-27T09:36:13.305Z"}
    , "status" : 1 , "registry_sum" : 114 , "Go-Goal新一代V3.0" : 2 , "Go-Goal新一代V3.0_mobile" : null , "Go-Goal新一代V3.0_email" : 2 , "Go-Goal新一代V3.0_weixin" : null , "Go-Goal新一代V3.0_mobile_success" : null , "Go-Goal新一代V3.0_mobile_fail" : null , "Go-Goal新一代V3.0_email_success" : null , "Go-Goal新一代V3.0_email_fail" : 2 , "Go-Goal新一代V3.0_weixin_success" : null , "Go-Goal新一代V3.0_weixin_fail" : null , "Go-Goal新一代V3.0_mobile_success_person" : null , "Go-Goal新一代V3.0_mobile_fail_person" : null , "Go-Goal新一代V3.0_mobile_success_business" : null , "Go-Goal新一代V3.0_mobile_fail_business" : null , "Go-Goal新一代V3.0_email_success_person" : null , "Go-Goal新一代V3.0_email_fail_person" : 2 , "Go-Goal新一代V3.0_email_success_business" : null , "Go-Goal新一代V3.0_email_fail_business" : null , "Go-Goal新一代V3.0_weixin_success_person" : null , "Go-Goal新一代V3.0_weixin_fail_person" : null , "Go-Goal新一代V3.0_weixin_success_business" : null , "Go-Goal新一代V3.0_weixin_fail_business" : null }

我们可以看到保存的字段例如:Go-Goal新一代V3.0是带有点号的。

但是保存到mongodb中就变成了子文档的显示:

    "Go-Goal新一代V3" : {
    "0" : 2, "0_email" : 2, "0_email_fail" : 2, "0_email_fail_business" : null, "0_email_fail_person" : 2, "0_email_success" : null, "0_email_success_business" : null, "0_email_success_person" : null, "0_mobile" : null, "0_mobile_fail" : null, "0_mobile_fail_business" : null, "0_mobile_fail_person" : null, "0_mobile_success" : null, "0_mobile_success_business" : null, "0_mobile_success_person" : null, "0_weixin" : null, "0_weixin_fail" : null, "0_weixin_fail_business" : null, "0_weixin_fail_person" : null, "0_weixin_success" : null, "0_weixin_success_business" : null, "0_weixin_success_person" : null }
    ,

这里写图片描述

我们可以看到,它变成了,字段为Go-Goal新一代V3,value变成了子文档的形式。

那么我们该怎么访问呢?

访问子文档

    db.gg_registry.find({
    "Go-Goal新一代V3.0":5, "Go-Goal新一代V3.0_email":2}
    )

也就是说,访问子文档,就是字段加.号就可以了,这与我想保存字段为Go-Goal新一代V3.0是不冲突的。

结果为:

    "Go-Goal新一代V3" : {
    "0" : 5, "0_email" : 2, "0_email_fail" : 2, "0_email_fail_business" : 1, "0_email_fail_person" : 1, "0_email_success" : null, "0_email_success_business" : null, "0_email_success_person" : null, "0_mobile" : 1, "0_mobile_fail" : 1, "0_mobile_fail_business" : null, "0_mobile_fail_person" : 1, "0_mobile_success" : null, "0_mobile_success_business" : null, "0_mobile_success_person" : null, "0_weixin" : 2, "0_weixin_fail" : 2, "0_weixin_fail_business" : null, "0_weixin_fail_person" : 2, "0_weixin_success" : null, "0_weixin_success_business" : null, "0_weixin_success_person" : null }
    ,
相关热词搜索: