大佬教程收集整理的这篇文章主要介绍了node.js – 如何使用2d地理索引正确地在Mongoose模式中定义数组中的对象,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果这有帮助,我的Mongoose版本是3.6.20和MongoDB 2.4.7
在我忘记之前,它也将很高兴设置为索引(2d)
原始数据:
{ "_id": ObjectId("51ec4ac3eb7f7c701b000000"),"gpx": { "Metadata": { "desc": "Nürburgring VLN-Variante","country": "de","isActive": true },"trk": [ { "lat": 50.3299594,"lng": 6.9393006 },{ "lat": 50.3295046,"lng": 6.9390688 },{ "lat": 50.3293714,"lng": 6.9389939 },{ "lat": 50.3293284,"lng": 6.9389634 }] } }
猫鼬图:
var TrackscheR_945_11845@a = scheR_945_11845@a({ _id: scheR_945_11845@a.objectId,gpx: { Metadata: { desc: String,country: String,isActive: Boolean },trk: [{lat:number,lng:number}] } },{ collection: "tracks" });
Chrome中的“网络”标签的响应总是如下(这只是trk部分错误):
{ trk: [ [Object],[Object],
我已经尝试过不同的模式定义“trk”:
> trk:scheR_945_11845@a.Types.Mixed
> trk:[scheR_945_11845@a.Types.Mixed]
> trk:[{type:[number],index:“2d”}]
希望你能帮助我;-)
trk : [{ lat : String,lng : String }]
要么
trk:{type:Array,“default”:[]}
在第二种情况下,在插入期间,使对象并将其推入数组中
db.update({'Searching criteria goes here'},{ $push : { trk : { "lat": 50.3293714,"lng": 6.9389939 } //inserted data is the object to be inserted } });
或者你可以通过设置对象的数组
db.update ({'seraching criteria goes here ' },{ $set : { trk : [ { "lat": 50.3293714,"lng": 6.9389939 },{ "lat": 50.3293284,"lng": 6.9389634 } ]//'inserted Array containing the list of object' } });
以上是大佬教程为你收集整理的node.js – 如何使用2d地理索引正确地在Mongoose模式中定义数组中的对象全部内容,希望文章能够帮你解决node.js – 如何使用2d地理索引正确地在Mongoose模式中定义数组中的对象所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。