Mongodb “,”id“:1,“name“:”x“,”ttm“:34,“val“:1}” //{“u id”:ObjectId(“55fb59c8241fee91ac4cd883”),“id”:1,“name”:“x”,“ttm”:24,“val”:2} //{“_id”:ObjectId(“55fb59d9241fee91ac4cd884”),“id”:2,“name”:“x”,“ttm”:56,“val”:3} //{“_id”:ObjectId(“55fb59e7241fee91ac4cd885”),“id”:2,“name”:“x”,“ttm”:76,“val”:3} //{“_id”:ObjectId(“55fb59f9241fee91ac4cd886”),“id”:3,“name”:“x”,“ttm”:54,“val”:7} db.test.aggregate(/*来自第一个代码段*/) //输出 { “结果”:[ { “_id”:ObjectId(“55fb59f9241fee91ac4cd886”), “val”:7, “名称”:“x”, “ttm”:54, “id”:3 }, { “_id”:ObjectId(“55fb59d9241fee91ac4cd884”), “val”:3, “名称”:“x”, “ttm”:56, “id”:2 }, { “_id”:ObjectId(“55fb595b241fee91ac4cd881”), “val”:5, “名称”:“x”, “ttm”:23, “id”:1 } ], “好”:1 }

Mongodb “,”id“:1,“name“:”x“,”ttm“:34,“val“:1}” //{“u id”:ObjectId(“55fb59c8241fee91ac4cd883”),“id”:1,“name”:“x”,“ttm”:24,“val”:2} //{“_id”:ObjectId(“55fb59d9241fee91ac4cd884”),“id”:2,“name”:“x”,“ttm”:56,“val”:3} //{“_id”:ObjectId(“55fb59e7241fee91ac4cd885”),“id”:2,“name”:“x”,“ttm”:76,“val”:3} //{“_id”:ObjectId(“55fb59f9241fee91ac4cd886”),“id”:3,“name”:“x”,“ttm”:54,“val”:7} db.test.aggregate(/*来自第一个代码段*/) //输出 { “结果”:[ { “_id”:ObjectId(“55fb59f9241fee91ac4cd886”), “val”:7, “名称”:“x”, “ttm”:54, “id”:3 }, { “_id”:ObjectId(“55fb59d9241fee91ac4cd884”), “val”:3, “名称”:“x”, “ttm”:56, “id”:2 }, { “_id”:ObjectId(“55fb595b241fee91ac4cd881”), “val”:5, “名称”:“x”, “ttm”:23, “id”:1 } ], “好”:1 },mongodb,mongodb-scala,Mongodb,Mongodb Scala,优点:几乎可以肯定是最快的方法 缺点:涉及到使用复杂的聚合API。此外,它与文档的原始架构紧密耦合。不过,也可以对此进行概括。使用distinct指定查询。 以下示例从dept等于“A”的文档中返回项目字段中嵌入的字段sku的不同值: 参考:使用distinct指定查询。 以下示例从dept等于“A”的文档中返回项目字段中嵌入的字段sku的不同值: 参考资料:谢谢,是的,我想要完整的文档,但不要重复的id文档distinct(:id)返回没有重复id的完整文档。@Voldy-我无法在mongo

优点:几乎可以肯定是最快的方法


缺点:涉及到使用复杂的聚合API。此外,它与文档的原始架构紧密耦合。不过,也可以对此进行概括。

使用distinct指定查询。 以下示例从dept等于“A”的文档中返回项目字段中嵌入的字段sku的不同值:


参考:

使用distinct指定查询。 以下示例从dept等于“A”的文档中返回项目字段中嵌入的字段sku的不同值:


参考资料:

谢谢,是的,我想要完整的文档,但不要重复的id文档
distinct(:id)
返回没有重复id的完整文档。@Voldy-我无法在mongo shell中使用该语法,给了我一个语法错误?@AdaTheDev我将其与Rails中的
mongoid
一起使用。例如,这将返回所有包含产品
Category.all(:id=>Deal.distinct(:Category\u id))的类别
。我想它会以某种方式转换为mongo语法。@Voldy-啊,好的,谢谢,我很想知道这会转换成什么-我使用CSharp驱动程序。我会尝试进一步挖掘。谢谢,是的,我想要完整的文档,但没有重复的id文档
独特(:id)
返回没有重复id的完整文档。@Voldy-我无法在mongo shell中使用该语法,给了我一个语法错误?@AdaTheDev我将其与Rails中的
mongoid
一起使用。例如,这将返回所有包含产品
Category.all(:id=>Deal.distinct(:Category\u id))的类别
。我想它会以某种方式转换成mongo语法。@Voldy-啊,好的,谢谢,我很想知道它转换成什么-我使用CSharp驱动程序。我会尝试进一步研究
{"id" : 1 , name : x  ttm : 23 , val : 5 }
{"id" : 1 , name : x  ttm : 34 , val : 1 }
{"id" : 1 , name : x  ttm : 24 , val : 2 }
{"id" : 2 , name : x  ttm : 56 , val : 3 }
{"id" : 2 , name : x  ttm : 76 , val : 3 }
{"id" : 3 , name : x  ttm : 54 , val : 7 }
db.foo.find({"id" : {"$in" : [1,2,3]}}).sort(ttm : -1).limit(3)
SELECT DISTINCT columnA FROM collection WHERE columnA > 5
db.runCommand({
    "distinct": "collection",
    "query": {
        "columnA": {
            "$gt": 5
        }
    },
    "key": "columnA"
});
cursor = db.myColl.find({'fieldName':'fieldValue'})

var Arr = new Array();
var count = 0;

cursor.forEach(

function(x) {

    var temp = x.id;    
var index = Arr.indexOf(temp);      
if(index==-1)
   {
     printjson(x.id);
     Arr[count] = temp;
         count++;
   }
})
collection.aggregate({
   $group : {
        "_id" : "$id",
        "docs" : { 
            $first : { 
            "name" : "$name",
            "ttm" : "$ttm",
            "val" : "$val",
            }
        } 
    }
});
db.inventory.distinct( "item.sku", { dept: "A" } )