1

MongoDB からドキュメントを取得しようとしています。ドキュメントには、バイナリ UUID を含むフィールド「ownerId」があります。コマンドを起動した場合に Mongo コンソールを使用する

db.dataset.find({ownerId: BinData(3,"ZQ6EAOKbQdSnFkRmVUUAAA==")}).pretty()

戻ります:

{
    "_id" : BinData(3,"VQ6EAOKbQdSnFkRmVUUAAA=="),
    "name" : "Twitter",
    "objectType" : "Tweet",
    "ownerId" : BinData(3,"ZQ6EAOKbQdSnFkRmVUUAAA==")
}

node.js プログラムからドキュメントを取得しようとすると、失敗し、ドキュメントが返されません。

私のプログラムは次のとおりです。

var mongo = require('mongoskin');

var db = mongo.db("mongodb://192.168.1.100:27017/test", {native_parser:true});

function HexToBase64(g) {

   ...
}

var uuidstr = "650e8400e29b41d4a716446655450000";
console.info(uuidstr);
base64str = HexToBase64(uuidstr);
console.info(base64str);

db.collection('dataset').find( { ownerId:new mongo.Binary(base64str, 4) } ).toArray(function (err, items) {

    if(err) {
        var msg = "Error getting 'dataset' objects from database.";
        console.info(msg + " " + err);
        return;
    }

    console.info("OK");
    console.info(items);
});

出力は次のとおりです。

650e8400e29b41d4a716446655450000
ZQ6EAOKbQdSnFkRmVUUAAA==
OK
[]

私は何を間違っていますか?

4

1 に答える 1