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

数据库时这样设计的

  1. var mongoose = require('mongoose'),
  2. Schema = mongoose.Schema;
  3.  
  4. //realTimeloginSchema 停车场运行实时监控
  5. var realTimeloginSchema = new Schema({
  6. realuserId: {type: String}, //用户ID
  7. realPwd: {type: String}, //用户密码
  8. realAddTime: {type: Date}, //注册时间
  9. realLoginTime: {type: Date}, //登录时间
  10. realRoot:{type: Boolean,default:false}, //是否是超级用户,默认是false
  11. realPower: {type: Boolean,default:false}, //添加用户权限,默认是false
  12. realpark:{
  13. parkId:{type:String}, //停车场名称
  14. parkName:{type:String}, //停车场ID
  15. scale: {type: Number}, //停车场总车位
  16. pionts:{ lng :{type:String}, //经度
  17. lat :{type:String} //纬度
  18. }
  19. }
  20. }
  21. );
  22.  
  23. module.exports = mongoose.model("realTimelogin ", realTimeloginSchema);

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

  1. {
  2. "_id" : ObjectId("58afe978c0120986cddacf6c"),
  3. "realPwd" : "124",
  4. "realuserId" : "124",
  5. "realAddTime" : ISODate("2017-02-26T10:05:51.643Z"),
  6. "realPower" : true,
  7. "realRoot" : false,
  8. "realpark" : [
  9. {
  10. "parkId" : "99999888881474167822",
  11. "parkName" : "小猫停车场",
  12. "scale" : 200
  13. },
  14. {
  15. "parkId" : "0755000021433988491",
  16. "parkName" : "软件产业基地停车场",
  17. "scale" : 500
  18. },
  19. {
  20. "parkId" : "18682397901474189348",
  21. "parkName" : "新版测试停车场",
  22. "scale" : 1250
  23. }
  24. ]
  25. }

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

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

  1. var mongoose = require('mongoose'),
  2. Schema = mongoose.Schema;
  3.  
  4. //realTimeloginSchema 停车场运行实时监控
  5. var realTimeloginSchema = new Schema({
  6. realuserId: {type: String}, //用户ID
  7. realPwd: {type: String}, //用户密码
  8. realAddTime: {type: Date}, //注册时间
  9. realLoginTime: {type: Date}, //登录时间
  10. realRoot:{type: Boolean,default:false}, //是否是超级用户,默认是false
  11. realPower: {type: Boolean,default:false}, //添加用户权限,默认是false
  12. realpark: {type: Object, default: []}
  13. /* realpark:{
  14. parkId:{type:String}, //停车场名称
  15. parkName:{type:String}, //停车场ID
  16. scale: {type: Number}, //停车场总车位
  17. pionts:{ lng :{type:String}, //经度
  18. lat :{type:String} //纬度
  19. }
  20.  
  21. }
  22. */
  23. }
  24. );
  25.  
  26. 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. swt进度条 线程

    import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import java.util.Rando ...

  2. js遍历map

    //火狐控制台打印输出: Object { fileNumber="文件编号", fileName="文件名称"} console.log(map); for( ...

  3. Android 5.x SEAndroid/SElinux内核节点的读写权限【学习笔记】

    本文转载自:http://blog.csdn.net/tung214/article/details/44461985 Android 5.0下,因为采取了SEAndroid/SElinux的安全机制 ...

  4. HDU 1257:最少拦截系统

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  5. 计算机学院大学生程序设计竞赛(2015’12)Study Words

    Study Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  6. codeforces 450B. Jzzhu and Sequences 解题报告

    题目链接:http://codeforces.com/problemset/problem/450/B 题目意思:给出 f1 和 f2 的值,以及n,根据公式:fi = fi-1 + fi+1,求出f ...

  7. LA-5052 (暴力)

    题意: 给[1,n]的两个排列,统计有多少个二元组(a,b)满足a是A的连续子序列,b是B的连续子序列,a,b中包含的数相同; 思路: 由于是连续的序列,且长度相同,可以枚举一个串的子串,找出这个子串 ...

  8. SPOJ:Dandiya Night and Violence(Bitset优化)

    It is Dandiya Night! A certain way how dandiya is played is described: There are N pairs of people p ...

  9. border-collapse

    表格边框,对于别的元素加上的边框不起作用 border-collapse : separate(默认) | collapse | inherit separate : 边框独立 效果图: collap ...

  10. Event Handling Guide for iOS--(三)---Event Delivery: The Responder Chain

    Event Delivery: The Responder Chain 事件传递:响应链 When you design your app, it’s likely that you want to ...