java mongodb 数组操作符_MongoDB读取文档之数组操作符

首先,为了方便demo,我们需要创建包含数组和嵌套数组的文档

db.accounts.insert([

{

name: "spring",

balance: 8787,

contact: ["China","Java","FrameWork"]

},

{

name: "mysql",

balance: 8,

contact: [ ["oracle"],"database","8.0" ]

},

{

name: "java",

balance: 8,

contact: [ ["oracle"],"core","8.0" ]

}

])

数组操作符

$all

语法结构

匹配数组字段中包含的所有查询值的文档

{ : { $all: [ , ... ] } }

读取contact数组中包含China和Java的文档

db.accounts.find( { contact: { $all: ["China", "Java"] } } )

读取contact数组中包含oracle数组的文档

db.accounts.find( { contact: { $all: [ ["oracle"] ] } } )

$elemMatch

语法结构

匹配数组字段中至少存在一个值满足筛选条件的文档

{ : { $elemMatch: { , ... } } }

读取contact数组中大于7.0小于9.0的文档信息

db.accounts.find( { contact: {$elemMatch: { $lt: "9.0", $gt: "7.0" } } } )

联合$all进行使用,读取contact数组中包含oracle数组且数组中存在大于7.0小于9.0的数值的文档信息

db.accounts.find( {

contact: {

$elemMatch: {

$lt: "9.0",

$gt: "7.0"

},

$all: [ ["oracle"] ]

}

} )

联合$all进行使用,读取contact数组存在大于7.0小于9.0的数值,和存在大于9.0小于10.0的文档信息

db.accounts.find( {

contact: {

$all: [

{ $elemMatch: { $lt: "9.0", $gt: "7.0" } },

{ $elemMatch: { $lt: "10.0", $gt: "9.0" } },

]

}

} )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值