MongoDB内嵌文档查询

内嵌文档查询包括两种情况
  • 查询整个内嵌文档,当内嵌文档键值对的数量以及键值对的顺序都相同时,才会匹配
  • 查询文档的某个字段,需要使用.号操作符

实例
   
   
var db = connect("localhost:27017/test");
db.col.drop();
var bulk = db.col.initializeUnorderedBulkOp();
 
//测试数据
var doc1=
{
"name":"xiaoli",
"age":20,
"address":
{
"province":"GuangDong",
"city":"ShenZhen"
}
}
bulk.insert(doc1);
 
var doc2=
{
"name":"xiaoqiang",
"age":22,
"address":
{
"city":"ShenZhen",
"province":"GuangDong"
}
}
 
bulk.insert(doc2);
 
//下面执行插入操作
bulk.execute()
 
print("========find--内嵌文档查询(查询整个子文档) ========")
var cursor = db.col.find(
{
"address":
{
"province":"GuDong"
}
});
printjson( cursor.toArray() );
var cursor = db.col.find(
{
"address":
{
"province":"GuangDong",
"city":"ShenZhen"
}
});
printjson( cursor.toArray() );
 
print("========find--内嵌文档查询 (查询字段) ========")
var cursor = db.col.find(
{
"address.city":"ShenZhen"
})
printjson(cursor.toArray());

运行结果:
   
   
C:\>mongo --quiet find_embedded.js
========find--内嵌文档查询(查询整个子文档) ========
[ ]
[
{
"_id" : ObjectId("56e6a70060f9d7972921a204"),
"name" : "xiaoli",
"age" : 20,
"address" : {
"province" : "GuangDong",
"city" : "ShenZhen"
}
}
]
========find--内嵌文档查询 (查询字段) ========
[
{
"_id" : ObjectId("56e6a70060f9d7972921a204"),
"name" : "xiaoli",
"age" : 20,
"address" : {
"province" : "GuangDong",
"city" : "ShenZhen"
}
},
{
"_id" : ObjectId("56e6a70060f9d7972921a205"),
"name" : "xiaoqiang",
"age" : 22,
"address" : {
"city" : "ShenZhen",
"province" : "GuangDong"
}
}
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

morris131

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值