在最近的设计数据库时,犯了一个低级的错误,就是设置内置文档是定义了错误了,导致数据取不出,去找了很多资料都无法解决。最后看了一了一下自己设置的model文件。配置错误,所以导致数据取不出了。

数据库时这样设计的

var mongoose = require('mongoose'),
Schema = mongoose.Schema; //realTimeloginSchema 停车场运行实时监控
var realTimeloginSchema = new Schema({
realuserId: {type: String}, //用户ID
realPwd: {type: String}, //用户密码
realAddTime: {type: Date}, //注册时间
realLoginTime: {type: Date}, //登录时间
realRoot:{type: Boolean,default:false}, //是否是超级用户,默认是false
realPower: {type: Boolean,default:false}, //添加用户权限,默认是false
realpark:{
parkId:{type:String}, //停车场名称
parkName:{type:String}, //停车场ID
scale: {type: Number}, //停车场总车位
pionts:{ lng :{type:String}, //经度
lat :{type:String} //纬度
}
}
}
); module.exports = mongoose.model("realTimelogin ", realTimeloginSchema);

自己在可视化工具robomongo是这样数据是这样的:

{
"_id" : ObjectId("58afe978c0120986cddacf6c"),
"realPwd" : "124",
"realuserId" : "124",
"realAddTime" : ISODate("2017-02-26T10:05:51.643Z"),
"realPower" : true,
"realRoot" : false,
"realpark" : [
{
"parkId" : "99999888881474167822",
"parkName" : "小猫停车场",
"scale" : 200
},
{
"parkId" : "0755000021433988491",
"parkName" : "软件产业基地停车场",
"scale" : 500
},
{
"parkId" : "18682397901474189348",
"parkName" : "新版测试停车场",
"scale" : 1250
}
]
}

  console.log(doc.realpark);是可以打印数据的,但是一直取不到realpark的长度,所以无法遍历对象。

之后查看了一下官网文档,才知道自己定义错误,应该这样定义:

var mongoose = require('mongoose'),
Schema = mongoose.Schema; //realTimeloginSchema 停车场运行实时监控
var realTimeloginSchema = new Schema({
realuserId: {type: String}, //用户ID
realPwd: {type: String}, //用户密码
realAddTime: {type: Date}, //注册时间
realLoginTime: {type: Date}, //登录时间
realRoot:{type: Boolean,default:false}, //是否是超级用户,默认是false
realPower: {type: Boolean,default:false}, //添加用户权限,默认是false
realpark: {type: Object, default: []}
/* realpark:{
parkId:{type:String}, //停车场名称
parkName:{type:String}, //停车场ID
scale: {type: Number}, //停车场总车位
pionts:{ lng :{type:String}, //经度
lat :{type:String} //纬度
} }
*/
}
); module.exports = mongoose.model("realTimelogin ", realTimeloginSchema);

  这样就可以得到内嵌对象的长度,遍历对象。

mongoDB内置文档定义的更多相关文章

  1. MongoDB内置文档查看和修改

    MongoDB设计的时候,有时候会设计内置文档,方便某个对象的统一.在这里略写了查看内置文档和更新内置文档. 1.查看  表为:realtimelogin   realName为:123 realpa ...

  2. MongoDB 内嵌文档

    MongoDB是文档型的数据库系统,doc是MongoDB的数据单位,每个doc相当于关系型数据库的数据行(row),doc和row的区别在于field的原子性:row中的column是不和分割的原子 ...

  3. mongodb内嵌文档的javaapi,增删改查

    数据结构: {"_id" : "000000001",  //Mongodb默认主键 "UID" : "000000001&quo ...

  4. MongoDB内嵌文档操作

    实体定义: [BsonIgnoreExtraElements] public class Person : BaseEntity { public string FirstName { get; se ...

  5. mongodb内嵌文档的查询

    本文转自:http://blog.163.com/wm_at163/blog/static/1321734902012526103825481/ 1 > db.blog.findOne() { ...

  6. mongodb对数组元素及内嵌文档进行增删改查操作(转)

    from:https://my.oschina.net/132722/blog/168274 比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: &l ...

  7. mongodb查询内嵌文档

    mongodb查询内嵌文档   假设有这样一个文档: db.XXX.remove(); db.XXX.insert({"id":1, "members":[{& ...

  8. MongoDB对数组元素及内嵌文档进行增删改查操作

    比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: {    "_id" : "195861",    &qu ...

  9. MongoDB查询或修改内嵌文档

    作为非关系型数据库中的佼佼者,MongoDB一大优势在于能够在一条文档中存储对象类型的数据,适当增加冗余来让数据库更好用.文档中一个对象类型的字段在MongoDB中被称为内嵌文档(Embedded) ...

随机推荐

  1. .Net之路(十四)com组件、OLEDB导入EXCEL

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/chenfanglincfl/article/details/30546777 .NET com组件 ...

  2. 20170223-问题001,增强中的E消息 显示为 S模式消息,

     MM01 的屏幕增强,里面写的      MESSAGE e056(z1) WITH '供应链计划(SCP) 储备物料与当期物料不能同时选择.'.可是现实出来是S 消息模式,这是为什么?系统转换了吗 ...

  3. 转:Apache-Tomcat各发布包说明

    下载地址:http://tomcat.apache.org/发布包说明: apache-tomcat-[version].zip---------------------------基本发布包.这些发 ...

  4. C#参数数组的用法1

    C# 参数数组 有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目.C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数. params 关键字 在使用数组作为形参时, ...

  5. MyBatis学习 之 四、动态SQL语句

    有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息.使用Oracle的序列.mysq ...

  6. TCP连接、释放及HTTPS连接流程

    一.建立连接是三次握手 为什么三次握手?前两次握手为了确认服务端能正常收到客户端的请求并愿意应答,后两次握手是为了确认客户端能正常收到服务端的请求并愿意应答.三次握手可以避免意外建立错误连接而导致浪费 ...

  7. CTR预估经典模型总结

    计算广告领域中数据特点:    1 正负样本不平衡    2 大量id类特征,高维,多领域(一个类别型特征就是一个field,比如上面的Weekday.Gender.City这是三个field),稀疏 ...

  8. css画三角的原理

    当我们设置一个div其width与height为100px,并且设置其四边框的宽度为100px,且分别设置其颜色后,我们可以看到如下的一张图片 此时如果设置这个div的height为0的话,其他不变, ...

  9. pair运用

    #include <iostream> #include <string> #include <map> #include <algorithm> us ...

  10. 关于HTTP请求中更改body中传递的参数方法

    更改body中传递的参数方法: String txId = UUID.randomUUID().toString().replaceAll("-", ""); ...