Mongodb 如何查找具有一些键且没有重复值的文档?
我有一个文档Mongodb 如何查找具有一些键且没有重复值的文档?,mongodb,Mongodb,我有一个文档基隆,它有一个带有6个对象的数组电影 我想查找文档db.getCollection('Keelung')。查找({}),但在enName中没有重复的值 例如,如果有两个enName值为Truth或Dare,我的查询命令将返回5个对象 我不知道如何实现它,试试db.getCollection('Keelung')。find({enName:true,dropDups:true})显然是不对的 有没有办法在mongodb中实现它?或者我应该在前端过滤它 任何帮助都将不胜感激。提前谢谢
基隆
,它有一个带有6个对象的数组电影
我想查找文档db.getCollection('Keelung')。查找({})
,但在enName
中没有重复的值
例如,如果有两个enName
值为Truth或Dare
,我的查询命令将返回5个对象
我不知道如何实现它,试试db.getCollection('Keelung')。find({enName:true,dropDups:true})
显然是不对的
有没有办法在mongodb中实现它?或者我应该在前端过滤它
任何帮助都将不胜感激。提前谢谢
根据@Sergio suggest和我的谷歌搜索$addToSe
db.getCollection('Keelung').aggregate([
{ $unwind: '$data' },
{ $group: { _id: '$_id', movie: { $addToSet: '$enName' } } }
]);
什么也没发生,我不知道如何在这个命令中使用find query…您需要在这里进行聚合
db.getCollection('Keelung').aggregate([
{ "$unwind": '$movie' },
{ "$group": {
"_id": "$movie.enName",
"data": {
"$push": {
"field1": "$field1",
"field2": "$field2",
...
}
}
}}
]);
这可能可以通过聚合管道及其
$group
阶段完成。感谢Anthony,它可以进行筛选。我将尝试找出$group$push$REWIND