繁体   English   中英

远程MongoDb的Mongoose模式

[英]Mongoose Schema for remote MongoDb

我已经打开了到远程mongodb ec2实例的连接,但现在尝试检索嵌套在集合中的数据。 该数据库具有多个集合(即访问者,活动,表单等),并且已经有来自另一个来源的数据。 我正在为应用程序使用node + express。

1)我必须在我的应用程序中定义一个架构来匹配远程数据库,还是可以只查询数据并将其存储在对象中? 猫鼬模式创建

2)实际上在检索visitor集合中的值时,我可以使用点表示法来使用以下方法在visitor集合中查询visitor_id

db.find(visitor.visitor_id)  

这是我正在使用的数据库连接代码,如果有帮助

var uri = 'mongodb://xx.xxx.xx.x'
var mongoOptions = { db: { safe: true } };
  db = mongoose.createConnection(uri, mongoOptions, function (err, res) {
if (err) {
    console.log('ERROR connecting to: remote' + uri + '. ' + err);
} else {
    console.log('Successfully connected to: remote' + uri);
   }
});
  1. 如果使用猫鼬,则需要,您需要在应用程序中定义一个架构以匹配数据库。
  2. 这种表示法不起作用。 如果我了解您要进行的特定查询(以获取与visitor_id匹配的visitor_id ),那么您将大致需要以下内容:

     // Assuming you already have mongoose connected to the database elsewhere var mongoose = require('mongoose'); var Schema = mongoose.Schema; var visitorSchema = new Schema({ visitor_id: Number, etc: etc // the rest of your schema }); var Visitor = mongoose.model('Visitor', visitorSchema); Visitor.findOne({ visitor_id: the_id_you_want_to_query }, function (err, doc) { // doc contains the visitor document, if found }); 

我建议您熟悉一下MongoDB(尤其是mongoose)的查询-这些文档并不是很容易理解,但涵盖了大多数主要情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM