【发布时间】:2020-11-25 08:35:25
【问题描述】:
在以下文档集合中,我试图找到唯一句子的总单词。总字数必须为 5(hello\nworld,你好吗?) + 5(hello world,我很好) + 3(下雨了吗?) + 5(看看美丽的老虎!) = 18
[
{
"sourceList": [
{
"source": "hello\nworld, how are you?",
"_id": ObjectId("5f0eb9946db57c0007841153")
},
{
"source": "hello world, I am fine",
"_id": ObjectId("5f0eb9946db57c0007841153")
},
{
"source": "Is it raining?",
"_id": ObjectId("5f0eb9946db57c0007841153")
}
]
},
{
"sourceList": [
{
"source": "Look at the beautiful tiger!",
"_id": ObjectId("5f0eb9946db57c0007841153")
},
{
"source": "Is it raining?",
"_id": ObjectId("5f0eb9946db57c0007841153")
}
]
}
]
但是用下面的查询
db.collection.aggregate([
{
"$unwind": "$sourceList"
},
{
$project: {
"sp": {
$split: [
"$sourceList.source",
"\n"
],
$split: [
"$sourceList.source",
" "
]
}
}
},
{
"$group": {
"_id": null,
"elements": {
$addToSet: "$sp"
}
}
},
{
"$unwind": "$elements"
},
{
"$project": {
"sizes": {
"$size": "$elements"
}
}
},
{
"$group": {
"_id": null,
"count": {
"$sum": "$sizes"
}
}
}
])
它给出17。这可能是什么原因?我首先尝试按\n 拆分,然后按space 拆分
编辑
我正在尝试查找唯一句子的字数和唯一句子总数。
【问题讨论】:
-
您是在寻找全部独特的句子还是全部独特的词或两者兼而有之?
-
@Gibbs 唯一句子总数和唯一单词总数
-
你期待 4 和 18?
-
@Gibbs 是的.....我抓取了一个网站,将所有文本插入 mongo。之后,我需要计算唯一句子的总字数以及唯一句子的总数。
-
@Gibbs 请注意,我正在尝试对唯一句子进行字数统计,而不是对唯一句子进行唯一字数统计
标签: database mongodb mongoose mongodb-query nosql