MongoDB插入问题

时间:2014-04-18 12:37:50

标签: mongodb

这是来自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

2 个答案:

答案 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菜鸟,所以我相信这个答案可能存在缺陷。)