Вы можете найти дубликаты, используя Aggregation Framework и $group
.
Пример настройки данных:
// Batch insert some test data
db.mycollection.insert([
{a:1, b:2, c:3},
{a:1, b:2, c:4},
{a:0, b:2, c:3},
{a:3, b:2, c:4}
])
Запрос агрегации:
db.mycollection.aggregate(
{ $group: {
// Group by fields to match on (a,b)
_id: { a: "$a", b: "$b" },
// Count number of matching docs for the group
count: { $sum: 1 },
// Save the _id for matching docs
docs: { $push: " Вы можете найти дубликаты, используя Aggregation Framework и $group
.
Пример настройки данных:
[110] Запрос агрегации:
[111] Пример вывода:
{
"result" : [
{
"_id" : {
"a" : 1,
"b" : 2
},
"count" : 2,
"docs" : [
ObjectId("5162b2e7d650a687b2154232"),
ObjectId("5162b2e7d650a687b2154233")
]
}
],
"ok" : 1
}
id" }
}},
// Limit results to duplicates (more than 1 match)
{ $match: {
count: { $gt : 1 }
}}
)
Пример вывода:
{
"result" : [
{
"_id" : {
"a" : 1,
"b" : 2
},
"count" : 2,
"docs" : [
ObjectId("5162b2e7d650a687b2154232"),
ObjectId("5162b2e7d650a687b2154233")
]
}
],
"ok" : 1
}
Я вижу, что если вы нажмете, чтобы отправить сообщение об ошибке в MS, он, наконец, предоставит вам возможность отладки.
Кроме того, если вы зайдете в Панель управления-> Центр поддержки-> Изменить настройки Центра поддержки-> Настройки отчета о проблемах и измените выбор переключателя на «Каждый раз, когда возникает проблема, спрашивайте меня перед поиском решений», вы получите сообщение «Отладка». вариант прямо сейчас.
Одна большая проблема, которую я заметил, заключается в том, что он не может отлаживать с уже подключенным отладчиком. Он заставляет вас создать новый экземпляр отладчика в VS 2008, а затем жалуется, что отладчик уже подключен ...
У меня нет установленной Windows 7, поэтому я не могу сказать, работает ли какой-либо другой механизм, но очевидный ответ - проверить, включена ли отладка Just In Time в VS (Инструменты / Параметры / Отладка / Как раз вовремя).