我有一个集合,想跟踪mongodb集合中一个字段的值变化。
e.g。我有字段名称,电话,地址的集合。因此,当名称字段的值发生变化时,希望显示结果。 如果名称的结果字段是abc,abc,abc和xyz,xyz,xyz ....,那么我想只显示每个的第一个vaule并用新字段更新它。
所以,最后的结果应该是 - 姓名:abc,New-field:vaule - 第一个结果abc出现 名称:xyz,New-Field:value - xyz occurrence的第一个结果
谢谢!
[更新] 代码 -
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/course', function(err, db) {
if(err) throw err;
var grades = db.collection('grades');
var cursor = grades.find({});
var options = { 'sort' : [['grade', -1], ['student', 1]] };
var cursor = grades.find({}, {}, options);
cursor.each(function(err, doc) {
if(err) throw err;
if(doc == null) {
return db.close();
}
console.dir(doc);
});
});
输出:
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u0014' },
student: 'Amanda',
assignment: 'hw1',
grade: 100 }
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u0017' },
student: 'Amanda',
assignment: 'exam',
grade: 100 }
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u000f' },
student: 'Joe',
assignment: 'exam',
grade: 100 }
{ _id: { _bsontype: 'ObjectID', id: 'UÑÄòµQ\u000b&ûPri' },
student: 'Joe',
grade: 100 }
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u0012' },
student: 'Steve',
assignment: 'hw3',
grade: 100 }
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u0013' },
student: 'Steve',
assignment: 'exam',
grade: 100 }
期望的输出:
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u0014' },
student: 'Amanda',
assignment: 'hw1',
grade: 100,
new_field: "value" }
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u000f' },
student: 'Joe',
assignment: 'exam',
grade: 100,
new_field: "value" }
{ _id: { _bsontype: 'ObjectID', id: 'UÐ [@\f¡\u0013È\u0012' },
student: 'Steve',
assignment: 'hw3',
grade: 100,
new_field: "value" }