我有一个带有以下结构的分片集合"my_collection":
{
"CREATED_DATE" : ISODate(...),
"MESSAGE" : "Test Message",
"LOG_TYPE": "EVENT"
}
Run Code Online (Sandbox Code Playgroud)
mongoDB环境使用2个分片进行分片.使用LOG_TYPE上的Hashed分片键对上面的集合进行分片.LOG_TYPE属性还有7种其他可能性.
我在"my_collection"中有100万个文档,我试图使用以下查询找到基于LOG_TYPE的文档计数:
db.my_collection.aggregate([
{ "$group" :{
"_id": "$LOG_TYPE",
"COUNT": { "$sum":1 }
}}
])
Run Code Online (Sandbox Code Playgroud)
但这让我得到了大约3秒的结果.有没有办法改善这个?此外,当我运行explain命令时,它显示没有使用索引.group命令是否不使用索引?
我有以下结构的集合
{
_id : ObjectId("52f0795a58c5061aa34d436a"),
"attribute1" : [1, 3, 6, 7],
"attribute2" : [2, 4, 6, 8]
}
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以合并这两个属性,同时使用mongoDB中的聚合查询删除重复项?我需要结果是这样的:
{
_id : ObjectId("52f0795a58c5061aa34d436a"),
"attribute3" : [1, 3, 6, 7, 2, 4, 8]
}
Run Code Online (Sandbox Code Playgroud) 当我尝试使用--query选项使用mongoexport进行备份以获取状态等于A的文档时,面临以下错误:
mongoexport --port 27017 --db ex --collection A --type=csv --fields _id,status --query '{"status":"A"}' -o eg.csv
Run Code Online (Sandbox Code Playgroud)
错误验证设置:查询''{status:A}''无效JSON
请让我知道如何使用--query选项.