在JavaScript中将ObjectID(Mongodb)转换为字符串

93
我想在JavaScript中将ObjectID(Mongodb)转换为字符串。 当我从MongoDB中得到一个对象时,它看起来像是一个具有时间戳、秒数、增量和机器的对象。 我无法将其转换为字符串。

2
""+objectId 或者 objectId.toString(),其中 objectId 是我认为能满足你需求的变量。 - Sammaye
1
从MongoDB加载的ObjectID是一个对象。如果在Javascript中使用toString()函数,它将返回[Object,Object]。 - vhlen
奇怪,这些函数应该已经被实现了,我确定已经修复了。 - Sammaye
不知道是谁把这个标记为重复的:https://dev59.com/kF3Ua4cB1Zd3GeqP9yv3,但你是严重错误的... - Sammaye
幸运的是,下面的内容是JavaScript :) - Sammaye
显示剩余3条评论
22个回答

-1

使用这个简单的技巧,your-object.$id

我正在获取一个Mongo Ids数组,这是我所做的。

jQuery:

...
success: function (res) {
   console.log('without json res',res);
    //without json res {"success":true,"message":" Record updated.","content":[{"$id":"58f47254b06b24004338ffba"},{"$id":"58f47254b06b24004338ffbb"}],"dbResponse":"ok"}

var obj = $.parseJSON(res);

if(obj.content !==null){
    $.each(obj.content, function(i,v){
        console.log('Id==>', v.$id);
    });
}

...

-2

如果您正在使用Mongoose和MongoDB,它具有用于获取ObjectID字符串值的内置方法。我成功地使用它来执行一个if语句,该语句使用===比较字符串。

文档中可以看到:

Mongoose默认为每个模式分配一个id虚拟getter,该getter返回将文档的_id字段转换为字符串或在ObjectIds的情况下返回其hexString。如果您不希望在模式中添加id getter,则可以通过在模式构建时传递此选项来禁用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接