Имам колекция mongo, която е пълна с документи от програма, използваща драйвера Mongo DB C#.
Ако стартирам находка
client.connect('mongodb://127.0.0.1:27017/foo', function(err, db) {
var things = db.collection('things');
things.find({}, ['ThingId']).limit(1).toArray(function(err, docs) {
console.log(docs[0]);
}
}
и погледнете какво се съхранява, тогава виждам нещо подобно
{ _id: 1234235341234, ThingID: { _bsontype: 'Binary', sub_type: 3, position: 16, buffer: ‹Buffer a2 96 8d 7f fa e4 a4 48 b4 80 4a 19 f3 32 df 8e› }}
Прочетох документацията и опитах неща като:
console.log(mongojs.Binary(docs[i].SessionId.buffer, 3).value());
но не мога да отпечатам ThingId като UUID низ на конзолата
и определено не мога да питам за него!
Целта ми е да направя заявка, като предам GUID низовете, за да намеря, за да мога да избирам документи, използвайки идентификатори. Знам, че C# е генериран (и мога да видя с помощта на RoboMongo)
Всяка помощ се оценява изключително много!
Актуализация: Както беше посочено от @wes-widner, екипът на драйверите на mongo c# има UUID helper js файл, който помага за конвертирането между различни UUID и ние го използваме в RoboMongo за директни заявки. Но BinData, който използва, е наличен само в mongo shell и не знам как да осъществя достъп до него чрез node.
Свързаният отговор показва как да правите заявки с помощта на uuidHelper и BinData когато използвате mongo shell по същество какво Im питането е как да направите това в рамките на възел