Mongodb在集合中的文档再插入集合,如何取出数据

首先切换数据库

use testdb

选择所要插入数据集合:

db.user.insert({idcard:4123290,phone:110,name:"zz",card:{cardnum:1111,psd:111,money:20,islock:0}})

若不能插入数据,看看是不是数据格式错误

使用格式化形式查看数据

db.user.find().pretty()
{
        "_id" : ObjectId("5b3455bbfc5d1fc2df78a7ec"),
        "idcard" : 4123290,
        "phone" : 110,
        "name" : "zz",
        "card" : {
                "cardnum" : 1111,
                "psd" : 111,
                "money" : 20,
                "islock" : 0
        }

}

此时数据可以显示

如果查询不出数据并且以这种方式报错

> db.user.find({"card.cardnum":1111},{card.money:1})

2018-06-28T11:56:28.598+0800 E QUERY    [thread1] SyntaxError: missing : after property id @(shell):1:40

是因为查询数据格式不正确

也可以通过其他字段查看是否可以查询出想要数据

> db.user.find({"card.cardnum":1111},{name:1})

{ "_id" : ObjectId("5b3455bbfc5d1fc2df78a7ec"), "name" : "zz" }


这时候可以使用以上格式的查询数据进行测试,看看哪种格式可以查询出最终结果:

> db.user.find({"card.cardnum":1111},{card.money:1})

2018-06-28T11:56:28.598+0800 E QUERY    [thread1] SyntaxError: missing : after property id @(shell):1:40

这种格式也不对!!!

记住:查询数据字段首先需要使用大括号{},内部字段需要使用双引号“”,若要显示某个字段可以使用双引号并给出默认显示值!

eg:db.user.find({"card.cardnum":1111},{"card.money":1})


> db.user.find({"card.cardnum":1111},{"card.money":1})

{ "_id" : ObjectId("5b3455bbfc5d1fc2df78a7ec"), "card" : { "money" : 20 } }

此时就能查询出数据了,大功告成!!!!!

你可能感兴趣的:(数据库)