【发布时间】:2020-11-25 06:29:17
【问题描述】:
"sourceList": [
{
"source" : "hello world, how are you?",
"_id" : ObjectId("5f0eb9946db57c0007841153")
},
{
"source" : "hello world, I am fine",
"_id" : ObjectId("5f0eb9946db57c0007841153")
},
{
"source" : "Is it raining?",
"_id" : ObjectId("5f0eb9946db57c0007841153")
}
]
hello world, how are you? = 5,hello world, I am fine = 5,Is it raining?= 3 中的总字数。
因此总字数 = 13
是否有一个 mongo 查询来做这个计算?我可以使用 javascript 来做到这一点,但有没有直接通过 mongo 查询的方法?
编辑
有没有办法可以跨文档进行此查询?对于符合特定标准的文档,我想运行一个类似的计算并增加一个约束,即重复句子的单词不会被计算两次。例如,
文档 - 1
"sourceList": [
{
"source" : "hello world, how are you?",
"_id" : ObjectId("5f0eb9946db57c0007841153")
},
{
"source" : "hello world, I am fine",
"_id" : ObjectId("5f0eb9946db57c0007841153")
},
{
"source" : "Is it raining?",
"_id" : ObjectId("5f0eb9946db57c0007841153")
}
]
文档 - 2
"sourceList": [
{
"source" : "hello world, how are you?",
"_id" : ObjectId("5f0eb9946db57c0007841153")
},
{
"source" : "hello world, I am fine",
"_id" : ObjectId("5f0eb9946db57c0007841153")
},
{
"source" : "Is it raining?",
"_id" : ObjectId("5f0eb9946db57c0007841153")
}
]
这里的计数仍然保持不变。原因是,两个文档中的句子完全相同。但是如果我们结合 Document 1 + Document 3(如下给出)
"sourceList": [
{
"source" : "Look at the beautiful tiger!",
"_id" : ObjectId("5f0eb9946db57c0007841153")
}
]
计数为 13 + 5(文档 3)= 18。
【问题讨论】:
标签: database mongodb mongoose mongodb-query nosql