创建Db:
var mongojs = require('mongojs');
var db = mongojs('rodrigo-contatos', ['rodrigo-contatos']);
我尝试使用此代码在数据库中进行搜索,使用mongojs中的findOne,即代码:
app.get('/detalhesContato/:id', function(req, res){
var id = req.params.id;
console.log(id);
db.contatos.findOne({_id: mongojs.ObjectId(id)}, function(err, doc) {
console.log(err);
res.json(doc);
});
console.log(id)
id是正确的,但无论我做什么,findOne都无法正常工作;(。
" 567a16ba28dee028f4a8ad78< - 来自id的控制台日志
TypeError:无法读取属性' findOne'未定义的 /Users/Michel/Documents/AngularProjects/RodrigoBranasListaTelefonica/server.js:48:12"
答案 0 :(得分:0)
使用mongojs,当您致电In [104]: df1.as_matrix()
Out[104]:
array([[ 1. , 2. , 1.23000002],
[ 3. , 4. , 3.31999993]], dtype=float32)
In [105]: df.as_matrix()
Out[105]:
array([[1.0, 2.0, 'a'],
[3.0, 4.0, 'b']], dtype=object)
创建db
对象时,需要明确标识要作为mongojs
属性访问的馆藏。因此,由于您尝试访问db
集合,因此需要在第二个(字符串数组)参数中为您的contatos
调用提供该名称:
mongojs
或者您可以跳过var db = mongojs('rodrigo-contatos', ['contatos']);
的快捷访问并稍后获取该集合:
db
答案 1 :(得分:0)
Ok问题解决了你需要在创建数据库连接时识别集合。 只有findOne()和find()有用的有趣的方法就是这样:
public class SpringMvcIntializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { ApplicationConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebMvcConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
但是像这样,使用findOne()工作就像魅力一样:
var db = mongojs('rodrigo-contatos', ['rodrigo-contatos']);