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" } )