在Informix 12.10.FC5版本中,支持Mongo的nosql,需要启动监听如下:java -cp $INFORMIXDIR/bin/jsonListener.jar com.ibm.nosql.informix.server.ListenerCLI -config $INFORMIXDIR/etc/jsonListener.properties -start
启动监听后问题如下:
1、java程序如何用mongo api操作informix的nosql
2、如何用ssh连到informix用mongo的指令操作nosql
麻烦有了解的能留言或者邮件交流。24622662@qq.com
1)JAVA程序中不能使用MongoDB client API操作informix中的nosql数据,要操作的话需要借助MongoDB相应驱动进行数据访问,具体方法参考下面的链接http://api.mongodb.com/java/3.2/
2)使用MongoDB CLIENT API操作nosql数据可按如下步骤:
-- 启动informix jsonlistener监听线程
-- 启动MongoDB client,进入提示符状态
-- 直接通过MongoDB client API进行操作即可,此时您将直接在informix中看到创建的表,对于MongoDB client API的用法参考下面:
https://docs.mongodb.com/manual/reference/mongo-shell/
求助:
MongoCollection
System.out.println(collection.count()); 出错
System.out.println(collection.find().iterator()); 出错
错误信息如下:
com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoException: org.bson.BsonInvalidOperationException: Value expected to be of type INT32 is of unexpected type STRING}, caused by {org.bson.BsonInvalidOperationException: Value expected to be of type INT32 is of unexpected type STRING}}]
at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:369)
at com.mongodb.connection.BaseCluster.selectServer(BaseCluster.java:101)
at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.
at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.
at com.mongodb.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:63)
at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:201)
at com.mongodb.operation.CountOperation.execute(CountOperation.java:206)
at com.mongodb.operation.CountOperation.execute(CountOperation.java:53)
at com.mongodb.Mongo.execute(Mongo.java:772)
at com.mongodb.Mongo$2.execute(Mongo.java:759)
at com.mongodb.MongoCollectionImpl.count(MongoCollectionImpl.java:185)
at com.mongodb.MongoCollectionImpl.count(MongoCollectionImpl.java:165)
at MongoToSinoregal.main(MongoToSinoregal.java:23)
System.out.println(collection);不出错
1、我启动监听
java -cp $INFORMIXDIR/bin/jsonListener.jar com.ibm.nosql.server.ListenerCLI -config $INFORMIXDIR/etc/jsonListener.properties -start
2、nodejs,可以采用mongo的方式连接informix,但是用java不行,求指教。
nodejs,代码如下:
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/stores_demo';
MongoClient.connect(url, function(err, db) {
if(err){
return console.log(err);
}
var collection = db.collection('customer');
collection.find({}).toArray(function(err, items) {
items.forEach(function(item,index){
console.log(index,item.fname,item.lname);
});
db.close();
});
});
收起