我正在尝试通过Mongoose连接到Node.js中的MongoDB。所有示例都讨论了在尝试保存和查找文档之前首先为文档设计模式。
但是,我已经使用java(Morphia)在MongoDB中定义了许多模式。有没有办法可以利用Mongoose中MongoDB中已经存在的(隐式)现有模式?即:我可以想象存储在MongoDB中的元数据有关正在创建的文档类型,Mongoose可以使用它来创建自己的客户端模式。
感谢。
答案 0 :(得分:1)
我可以想象存储在MongoDB中的元数据有关正在创建的文档类型,Mongoose可以使用它来创建自己的客户端模式。
MongoDB绝对没有关于集合内部内容的元数据。没有“野外地图”或常见类型。我检查的索引甚至没有统计数据。
有没有办法可以利用Mongoose中MongoDB中已经存在的(隐式)现有模式?
我能想到的最好的是程序化转换。 即:读取java源文件并写出JS版本。
或者你根本就不能定义架构。你仍然会得到完全有用的JS对象。
答案 1 :(得分:0)
以上答案是正确的,这里有一段对我有用的代码:
mongoose.model('Cat', new mongoose.Schema({ CatId: String })); // my schema is known to have cat id (I might not need this actually)
var mondb = mongoose.createConnection('localhost', 'kitten'); // connect to kitten db
var c = mondb.model('Cat'); // get the cat model from mongoose connection
c.find({name:"lior"}).exec(function(err,c) { // and now use it with different fields for queries
if (err) {
...
}
else
...
}
);