fuckle
fuckle
2014-07-12 15:20
浏览 1.6k
已采纳

mongodb插入数据 增加字段问题?

例如:先创建一个文档 doc = {'title':'meimei','name':'john'}
然后添加到集合 db.c.insert(doc)
db.c.find()没问题
然后添加一个字段 doc.age = []
再db.c.find() 却看不到新增加的字段?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • De_Moivre
    De_Moivre 2014-07-12 16:40
    已采纳

    1.使用update, 参看官网:
    [url]http://docs.mongodb.org/manual/reference/method/db.collection.update/#update-parameter[/url]

    update命令格式:
    db.collection.update(criteria,objNew,upsert,multi)
    参数说明:
    criteria:查询条件
    objNew:update对象和一些更新操作符
    upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。
    multi:默认是false,只更新找到的第一条记录。如果为true,把按条件查询出来的记录全部更新。

    [code="java"]db.people.update(
    { name: "Andy" },
    {
    name: "Andy",
    rating: 1,
    score: 1
    },
    { upsert: true }
    )[/code]

    2.另外好像楼主的意图还停留在关系数据库的层面上,
    即使有1000个字段的话,也完全可以在使用时再添加字段,新建/更新一条记录你需要的字段就会出现,要记住mongodb是nosql,不要用传统的数据库规则束缚了自己使用mongodb.

    点赞 评论
  • leehuat
    leehuat 2014-07-12 15:51

    [code="java"]
    1.doc = {'title':'meimei','name':'john'}
    db.c.insert(doc);
    db.c.find()

    2.doc={'title':'meimei','name':'john', age:[2,3]};
    db.c.insert(doc);
    db.c.find()
    [/code]

    点赞 评论

相关推荐