Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用mongoDB的聚合功能收集手机号码_Mongodb - Fatal编程技术网

无法使用mongoDB的聚合功能收集手机号码

无法使用mongoDB的聚合功能收集手机号码,mongodb,Mongodb,我正在尝试使用mongodb的aggregate单独收集手机号码。但是我不能 以下是我的示例文档: { "_id" : ObjectId("6065872113ad613ea7975b45"), "_class" : "com.abc.mongo.docs.DCDMongoLog", "jsonObject" : {

我正在尝试使用
mongodb
aggregate
单独收集手机号码。但是我不能

以下是我的示例文档:

{
        "_id" : ObjectId("6065872113ad613ea7975b45"),
        "_class" : "com.abc.mongo.docs.DCDMongoLog",
        "jsonObject" : {
                "keyIdentifier" : "218XXXXXX952",
                "microOperationName" : "Deduct amount from user balance.",
                "moduleName" : "DCD",
                "responseRaw" : "<?xml version=\"1.0\" encoding=\"utf-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schema
s.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema
-instance\"><soapenv:Body><soapenv:Fault><faultcode>S-ACT-00112</faultcode><faultstring>&#x631;&#x635;&#x64A;&#x62F;&#x643
; &#x62A;&#x34A;&#x631; &#x623;&#x537;&#x981;&#x64D;</faultstring><detail><ns1:hostname xmlns:ns1=\"http://xml.apache.org/
axis/\">web06</ns1:hostname></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>",
                "operationName" : "Direct Debit",
                "id" : null,
                "createDate" : "2021-04-01 03:40:09.699",
                "requestRaw" : "DebitBalance [conversationId=1012888888803400918, transactionId=, originatingAddress=23332
8673332, destinationAddress=218XXXXXX952, chargingAddress=218XXXXXX952, amount=1000, rbtId=null]"
        }
}
{
“_id”:ObjectId(“6065872113ad613ea7975b45”),
“_类”:“com.abc.mongo.docs.DCDMongoLog”,
“jsonObject”:{
“密钥标识符”:“218XXXXXX952”,
“微操作名称”:“从用户余额中扣除金额。”,
“moduleName”:“DCD”,
“应答器AW”:“S-ACT-00112ر;ص;ي;د;ك
&x62A;&x34A;&x631;&x623;&x537;&x981;&5944D;web06“,
“操作名称”:“直接借记”,
“id”:空,
“createDate”:“2021-04-01 03:40:09.699”,
“requestRaw”:“DebitBalance[conversationId=101288888803400918,transactionId=,originatingAddress=23332
8673332,目的地址=218XXXXXX952,记账地址=218XXXXXX952,金额=1000,rbtId=null]“
}
}
我正在使用下面的聚合函数来存储我的新集合中的所有手机号码,即“jsonObject.keyIdentifier”,即“collectionABC”

db.dCDMongoLog.aggregate([{'$group':{'_id': '$jsonObject.keyIdentifier'}},{'$match':{'$and' : [{'jsonObject.responseRaw' : {$regex : '<Amount>1000'}}]}},{$out: "collectionABC"}],,{ allowDiskUse: true })
db.dCDMongoLog.aggregate([{'$group':{'''u id':'$jsonObject.keyIdentifier'},{'$match':{'$and':[{'jsonObject.responseRaw':{$regex:'1000'}}}},{$out:'collectionABC'},{allowDiskUse:true})
如您所见,我还根据文档中是否包含字符串“1000”来过滤文档

但是在这个查询结束后,我得到了collectionABC的0计数

超出我的理解。。哪里出错了?

1)您的
responseRaw
字段中没有任何
1000
字符串,2)交换$group和$match阶段,然后重试。