我正在开发一个使用 NoSQL 数据库的项目,并且想知道如何进行查询,以便通过source
以下数据集字段进行过滤:
{
"_id" : ObjectId("55f9ba45647ba23c39207e9d"),
"ident" : "66198708-5c99-11e5-824f-00f489953837",
"timestamp" : ISODate("2015-09-16T18:51:49.681Z"),
"normalized" : true,
"payload" : {
"pattern" : "head",
"time" : "2015-09-16 15:52:07",
"filename" : null,
"source" : [
"192.168.100.107",
915
],
"request_raw" : "HEAD / HTTP/1.1\r\nConnection: close\r\nHost: 192.168.100.109\r\nUser-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine; http://nmap.org/book/nse.html)",
"request_url" : "/"
},
"channel" : "glastopf.events"
}
值得澄清的是,我对这类数据库的经验很少,数据库服务器是MongoDB v2.6.11
v3.2
如果您打算从 MongoDB 控制台进行查询,您可以使用数组运算符尝试以下操作(我使用的是 version )$all
:它所做
$all
的是获取字段值是array
包含指定元素的文档。更多示例:
找到 的第一个元素
array
:找到第二个元素并使其大于
900
:通过混合前两个条件进行搜索:
查找第一个元素等于数组中任何值的位置(使用运算符
$in
):您可以
array
在查询运算符数组中查询其他运算符