首先切换数据库
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 } }
此时就能查询出数据了,大功告成!!!!!