MongoDB的字段命名谨慎使用点号

在MongoDB中,字段中的点号 "." 需要谨慎使用。因为在搜索时,点号代表着内涵字段

例如:

db.testdb.insert({"name":"lisi","T1.field1":"zhangsan"})

在保存在MongoDB后还是以字符串“T1.field1”保存。

但是在条件搜索的时候却会出现不能根据内含字段进行搜索

db.testdb.find({"T1.field1":"zhangsan"})

结果是0条

因为MongoDB根据查询条件去搜索时,会认为是查找T1字段的内含字段为field1,值为zhangsan的Document。

也就是这种格式:

{

"name":"lisi",
"T1":
    {
        "field1":"zhangsan"
    }
}

因此在定义字段的时候需要注意点号的问题。

如果真的会有点号的情况,我建议在插入之前将数据转换为如上内含字段的方式后再进行存储。方便日后的搜索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值