您的位置:首页 > 数据库 > Mongodb

mongoDB内嵌文档查询

2017-06-07 14:43 423 查看
查询集合中数组的其中一个元素:

     最近在工作中遇到了这样的一个问题: 如何取出集合中的一个数组中的一个元素?由于本人是刚刚接触到mongoDB,经过一番查找最终还是解决了


      在需要对数组中的值进行操作的时候,可通过位置或者定位操作符("$").(不要忽略这个点)数组是0开始的,可以直接将下标作为键来选择元素。 

基础数据如下:

{  "_id" : ObjectId("59376d8c671056136b054bde"),
"dkeyId": 103,
"subjectInfo": "我爱你,无论生活给你怎样的压力都希望你能开心快乐!(来自轻轻的单元测试)",
"startTime": "2017-05-01 00:00:00",
"endTime": "2017-06-13 23:59:59",
"isDeleted": false,
"keywords": [
{
"keyId": 305,
"keyword": "测试随笔",
"orderNo": 22,
"wordType": 2,
"isDeleted": false,
"linkType": 3,
"linkTo": "我站在天桥上,透过厚厚的玻璃,隔着289米的距离,看着你所在房间的略微有些破旧的窗户,此刻无声!"
}
]
}

mongo语句如下:

db.getCollection('search_default_keyword').find(

  {

    "dkeyId":3, 

    "isDeleted" : true,

    "keywords.keyId":103,

    "keywords.isDeleted" : false

    },

   {

       "_id":0,

    "keywords.$.keyId":1

   })

查询结果如下:

{
"keywords": [
{
"keyId": 305,
"keyword": "测试随笔",
"orderNo": 22,
"wordType": 2,
"isDeleted": false,
"linkType": 3,
"linkTo": "我站在天桥上,透过厚厚的玻璃,隔着289米的距离,看着你所在房间的略微有些破旧的窗户,此刻无声!"
}
]
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息