Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将类似56AEA43CB6BE3800616B07的字符串$push到mongodb中的数组_Javascript_Mongodb - Fatal编程技术网

Javascript 无法将类似56AEA43CB6BE3800616B07的字符串$push到mongodb中的数组

Javascript 无法将类似56AEA43CB6BE3800616B07的字符串$push到mongodb中的数组,javascript,mongodb,Javascript,Mongodb,\u id=56AEA43CB6BE3800616B07 我试图在mongodb中的shareids数组中插入一个长字符串,如56AEA43CB6BE3800616B07,但总是失败“意外令牌非法” 我用mongo命令尝试了这个简单的方法,它必须是“56AEA43CB6BE380061607”才能工作 但是我用typeof检查了\u id的类型,它是一个字符串。我试图设置它ObjectID(\u id),但还是一样。我怎样才能把这事办完?谢谢 collection.update({

\u id=56AEA43CB6BE3800616B07
我试图在mongodb中的
shareids
数组中插入一个长字符串,如
56AEA43CB6BE3800616B07
,但总是失败“意外令牌非法”

我用mongo命令尝试了这个简单的方法,它必须是“56AEA43CB6BE380061607”才能工作

但是我用
typeof
检查了
\u id
的类型,它是一个字符串。我试图设置它
ObjectID(\u id)
,但还是一样。我怎样才能把这事办完?谢谢

collection.update({
              "name": name
            }, {
              $push: {
                "shareids": 
                  ObjectID(_id)
              }}, function (err) {
              if (err) {
                console.log("update failed.");
                mongodb.close();
                return callback(err);
              }
使用以下命令可能会发生
“意外令牌非法”

> db.collection.update({name: 'test'}, {$push: {shareids: ObjectId(56aea43cb6be380000616b
07)}})
2016-02-01T11:34:35.738+0800 SyntaxError: Unexpected token ILLEGAL
但是,在下面的数字中加上引号,就可以了

> db.collection.update({name: 'test'}, {$push: {shareids: ObjectId('56aea43cb6be380000616
b07')}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

您如何将
\u id
定义为变量?您的错误消息似乎表明您发出了引号,事实上,这将是产生错误的另一行代码。您是否直接将
ObjectID
作为函数导入?是的,我确实导入了ObjectID。因此出现了错误。因此,您可能需要
var ObjectID=require(“mongo”).ObjectID
包含在代码中以解析“意外令牌”。是的,我导入了ObjectID。我的观点是:如何将56AEA43CB6BE380061607转换为“56AEA43CB6BE380061607”?正如我前面所说的,它是一个字符串,因此您需要引号。没有字符串引号的任何内容都将是“意外标记”。现在明白了吗?_id=“””+_id+“”;我想这就是我所追求的:)原始
\u id
的类型是什么?我认为这个线程与我所追求的非常相似:仍然不工作:db.collection.update({name:'test'},{$push:{shareids:ObjectId('56AEA43CB6BE3800616 b07')})和mongo API。但是可以使用mongo命令。@ChanAustin,mongoose API不工作吗?