我想查询我的Mongodb集合(名称:包装器)并检索所有包含以'.com'结尾的字段'urls'的文档。
我不确定如何查询嵌套文档以及如何使用正则表达式进行查询。
我实际上是用perl编写的。但是,在mongo shell上运行的查询也没问题。
提前致谢!
示例数据:
{ "_id" : ObjectId("4e7a34932cd4b16704000000"), "lastArray" : { "desc" : "google", "url" : "google.com", "data" : [
{
"name" : "1",
"xpath" : [ ],
"nodes" : [ ],
"type" : "Any Text"
},
{
"name" : "2",
"xpath" : [ ],
"nodes" : [ ],
"type" : "Any Text"
}
{ "_id" : ObjectId("4e7a34932cd4b16704000001"), "lastArray" : { "desc" : "yahoo", "url" : "yahoo.com", "data" : [
{
"name" : "1",
"xpath" : [ ],
"nodes" : [ ],
"type" : "Any Text"
},
{
"name" : "2",
"xpath" : [ ],
"nodes" : [ ],
"type" : "Any Text"
}
答案 0 :(得分:6)
db.wrappers.find({"lastArray.url":{$regex:/\.com$/}});
答案 1 :(得分:0)
我不是100%确定你是否可以使用正则表达式来搜索子文档属性,或者你是否因为性能原因而想要。在这种情况下,添加“tld”属性并执行完全匹配查询可能更容易。像这样的东西{“lastArray.tld”:“com”}