Монго DB оболочки (, запустив с помощью JS-файл):Монго DB оболочка, как считать повторяющиеся записи в коллекции
После выполнения команды «найти», я должен выяснить, сколько в результате появляются повторяющиеся строки. Поскольку в коллекции могут быть разные JSON, мне придется разбирать каждый объект JSON для сравнения.
Короче говоря, Как перечислить ключи от объекта bson?
Например, если мы посмотрим на следующие записи 4 JSON:
// 1
{
"_id" : ObjectId("1"),
"Date" : "2012-06-17",
"k1" : "v1",
"k2" : "v2",
"k3" : "v3",
"k4" : "v4",
}
// 2
{
"_id" : ObjectId("2"),
"Date" : "2012-06-17",
"key1" : "v1",
"key2" : "v2",
}
// 3
{
"_id" : ObjectId("3"),
"Date" : "2012-06-18",
"k1" : "v1",
"k2" : "v2",
"k3" : "v3",
"k4" : "v4",
}
// 4
{
"_id" : ObjectId("4"),
"Date" : "2012-06-18",
"rk1" : "v1",
"rk2" : "v2",
"bk3" : "v3",
"bk4" : "v4",
"ck5" : "v5",
"ck6" : "v6",
}
Я хочу, чтобы игнорировать "_id" и клавиши "Date" при сравнении. Я хочу игнорировать «_id», потому что это особый монго, и я хочу игнорировать «Дату», потому что это мое требование.
И сами ключи весьма разнообразны. В каждом документе JSON имена ключей различаются, и число пар ключ-значение также меняется.
В приведенном выше случае я хочу, чтобы «1» и «3» считались одинаковыми (дублирующимися).
Как это сделать?
Как перечислить ключи из объекта bson?
Я думаю, вы могли бы запустить сокращение карты, чтобы достичь этого ... что вы хотите вернуть? Просто массив различных карт свойств со счетом для каждого? – McGarnagle
check mongodb Map уменьшить здесь http://www.mongodb.org/display/DOCS/MapReduce – Dhiraj