我想在JavaScript中将ObjectID(Mongodb)转换为String.当我从一个对象形式MongoDB.它就像一个对象有:timestamp,second,inc,machine.我无法转换为字符串.
试试这个:
objectId.str;
见文档.
这是将ObjectId
in转换为字符串的工作示例
> a=db.dfgfdgdfg.findOne() { "_id" : ObjectId("518cbb1389da79d3a25453f9"), "d" : 1 } > a['_id'] ObjectId("518cbb1389da79d3a25453f9") > a['_id'].toString // This line shows you what the prototype does function () { return "ObjectId(" + tojson(this.str) + ")"; } > a['_id'].str // Access the property directly 518cbb1389da79d3a25453f9 > a['_id'].toString() ObjectId("518cbb1389da79d3a25453f9") // Shows the object syntax in string form > ""+a['_id'] 518cbb1389da79d3a25453f9 // Gives the hex string
尝试了各种其他功能,如toHexString()
没有成功.
在壳中
ObjectId("507f191e810c19729de860ea").str
在js中使用节点的本机驱动程序
objectId.toHexString()
实际上,你可以试试这个:
> a['_id'] ObjectId("518cbb1389da79d3a25453f9") > a['_id'] + '' "518cbb1389da79d3a25453f9"
ObjectId对象+ String将转换为String对象.
在服务器中:ObjectId(507f191e810c19729de860ea)._str
.
在模板中:{{ collectionItem._id._str }}
.
假设OP想要获取ObjectId的十六进制字符串值,使用Mongo 2.2或更高版本,该valueOf()
方法将对象的表示形式返回为十六进制字符串.这也是通过str
财产实现的.
anubiskong的帖子上的链接提供了所有细节,这里的危险是使用从旧版本改变的技术,例如toString()
.