我是MongoDB的新手,正在尝试执行查询以从数据库中找到匹配的文本。下面是提到的细节-
[使用MongoDB,我正在尝试获取注释为DATA NOT FOUND的带注释的文本。通过我的查询,我得到的所有记录的备注均为DATA NOT FOUND以及备注为TOO_MANY_DATA。请参考数据库中存在的以下数据-
输入-
{
"_id" : ObjectId("aaaaaaaaaaaa"),
"projectDR" : "123456789",
"code" : "RRR",
"fileName" : "123456789_1.xml",
"specFileDivNumber" : "050000",
"normalizationStatus" : "ASDWFGL",
"divisionIn" : {
"sections" : [
{
"sectionNumber" : "050000",
"sectionName" : "textile",
"labels" : [
{
"normalizedDate" : ISODate("2018-10-28"),
"remarks" : "DATA NOT FOUND",
"bod" : false,
"ID" : "4048",
"annotatedText" : "Mains"
},
{
"normalizedDate" : ISODate("2018-10-28"),
"remarks" : "DATA NOT FOUND",
"bod" : false,
"ID" : "4064",
"annotatedText" : "routong"
},
{
"prefCode" : "ABC00000890",
"prefLabel" : "ABCRTYYUUUU",
"normalizedDate" : ISODate("2018-10-28"),
"remarks" : "TOO_MANY_DATA",
"bod" : false,
"ID" : "15736",
"annotatedText" : "Uniform"
},
]
}
]
},
"status" : "Success",
"fileDate" : ISODate("2018-10-28"),
"Type" : "History"
}
查询-db.getCollection('BasicInfo').find({'divisionIn.sections.labels.remarks':'DATA NOT FOUND'})
预期输出:
{
"_id" : ObjectId("aaaaaaaaaaaa"),
"projectDR" : "123456789",
"code" : "RRR",
"fileName" : "123456789_1.xml",
"specFileDivNumber" : "050000",
"normalizationStatus" : "ASDWFGL",
"divisionIn" : {
"sections" : [
{
"sectionNumber" : "050000",
"sectionName" : "textile",
"labels" : [
{
"normalizedDate" : ISODate("2018-10-28"),
"remarks" : "DATA NOT FOUND",
"bod" : false,
"ID" : "4048",
"annotatedText" : "Mains"
},
{
"normalizedDate" : ISODate("2018-10-28"),
"remarks" : "DATA NOT FOUND",
"bod" : false,
"ID" : "4064",
"annotatedText" : "routong"
},
]
}
]
},
"status" : "Success",
"fileDate" : ISODate("2018-10-28"),
"Type" : "History"
}
请帮助我更正查询,以便获得期望的结果。
这是文本搜索的情况。因此,您需要按照以下步骤操作。
在“备注”字段上创建文本索引。
db.getCollection('BasicInfo')。createIndex({“ divisionIn.sections.labels.remarks”:“ text”})
现在运行查询。
db.getCollection('BasicInfo')。find({$ text:{$ search:'DATA NOT FOUND'}})]]]
这是对MongoDB的标准且可理解的数组错误观念。查询条件将产生范围为document
这是对MongoDB的标准且可理解的数组错误观念。查询条件将产生范围为document