这是来自MongoDB。
我关注this tutorial。
我有如下所示的集合:
$ show collections
mycol
mycollection
system.indexes
test
tutorialspoint
然后,当我尝试使用下面的语法将记录插入集合时,我收到错误:
2014-04-18T08:03:55.168-0400 SyntaxError: Unexpected token ILLEGAL
db.mycol.insert({
_id: ObjectId(7df78ad8902c),
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials point',
url: 'http://www.tutorialspoint.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
以下是mongodb的复制/粘贴
db.mycol.insert({
... _id: ObjectId(7df78ad8902c),
... title: 'MongoDB Overview',
... description: 'MongoDB is no sql database',
... by: 'tutorials point',
... url: 'http://www.tutorialspoint.com',
... tags: ['mongodb', 'database', 'NoSQL'],
... likes: 100
... })
2014-04-18T08:03:55.168-0400 SyntaxError: Unexpected token ILLEGAL
答案 0 :(得分:2)
尝试不带_id字段的插入。这是由Mongodb自动生成的。
像这样:
db.mycol.insert({
title: 'MongoDBOverview',
description: 'MongoDBisnosqldatabase',
by: 'tutorialspoint',
url: 'http: //www.tutorialspoint.com',
tags: [
'mongodb',
'database',
'NoSQL'
],
likes: 100
});
如果您想使用_id
字段:
Mongodb文档:Insert a document using the _id field
例如:_id: 10
要避免,_id的值在集合中必须是唯一的 重复键错误。
答案 1 :(得分:1)
该值必须在引号中。此外,示例中的字符串长度错误。插入一些内容而不指定_id字段,然后执行db.mycol.find()以查看正确的格式。根据文档,该字段为12个字节。 24个字符的字符串每个字节使用2个十六进制字符。 (注意:我也是一个mongoDB菜鸟,所以我相信这个答案可能存在缺陷。)