219

mongooseを使用してノードで文字列をobjectIdに変換する機能はありますか? スキーマは何かが ObjectId であることを指定していますが、それが文字列から保存されると、mongo はそれがまだ単なる文字列であると教えてくれます。たとえば、オブジェクトの _id は として表示されobjectId("blah")ます。

4

8 に答える 8

515

次のように実行できます。

var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId('4edd40c86762e0fb12000003');
于 2011-12-05T23:56:29.380 に答える
11

次のように実行できます。

var mongoose = require('mongoose');
var _id = mongoose.mongo.BSONPure.ObjectID.fromHexString("4eb6e7e7e9b7f4194e000001");

編集: 新しい標準には fromString ではなく fromHexString があります

于 2011-11-06T20:17:10.800 に答える
8

コメントから判断すると、あなたが探しているものは次のとおりです。

mongoose.mongo.BSONPure.ObjectID.isValid

または

mongoose.Types.ObjectId.isValid
于 2015-01-12T11:22:37.870 に答える
7
var mongoose = require('mongoose');
var _id = mongoose.mongo.ObjectId("4eb6e7e7e9b7f4194e000001");
于 2015-08-04T00:33:55.810 に答える