我来自 MongoDB,现在我想使用 ArangoDb 来使用 ACID 事务。我仅将 NodeJS 用于编程。
我遇到的问题是以下问题,我无法将 NPM 代码示例变为现实!
有 3 个带有 NodeJS 驱动程序的 NPM 包。这些代码示例都不起作用!
然后,当我尝试改用 HTTP REST API 时,它们至少可以部分工作。这是访问 ArangoDB 的一种 HTTP REST API 方法。
但是,我如何指定文档应该插入到哪个数据库中?它总是将其插入 _System-Database。这是我不想要的。
在这里你看到我的代码..
var restify = require('restify');
// Client
var client = restify.createJsonClient({
url: 'http://192.168.142.139:8529',
version: '~1.0'
});
// Now call this insert function to insert a new Document into the ArangoDB Database
insert (function(e,o){
});
function insert ( callback) {
var data = {
user : 'Harryblabla',
nicenumber : 8675,
nicestring : 'des04950'};
client.post('/_api/document?collection=testcollection1&createCollection=true&waitForSync=true',
data, function (err, req, res, obj) {
if (obj.error==false) {
console.log('ok - saved');
console.log('result '+JSON.stringify(obj));
callback (err, 1);
} else {
console.log('not saved');
callback ('error', null);
}
});
}
它确实在“testcollection1”中插入了文档,但我如何指定到 wich 数据库?
另外,您能否给我举例说明如何在字段上使用唯一索引来“确保索引”、“更新 $set 以设置字段”和 findOne,就像在 MongoDB 中一样?
你也可以使用这些 NPM 包之一来编写代码。但我实现的唯一方法是通过 HTTP REST Api..
请,谢谢。我喜欢 ArangoDb,因为它是开源的,提供 ACID 事务。但主要缺点是缺乏教程,缺乏示例代码......
* 我还需要:更新集合中的字段,如果不存在则创建它:*
在这里,您可以看到有关如何仅更新特定字段的 NodeJS + MongoDB 示例。如果它不存在,它将被创建。这正是我在 Nodejs 中也需要 ArangoDB 的。你能给我写个例子吗?请
// Mongo DB connection already opened.
// this is the function to update or create if not exists
mycollection.update({txid: tx.txid},
{$set: {txid: tx.txid, nice: tx.nice, confvalidated: true}}, {upsert: true}, function(err, records1){
if (records1) {
console.log('insertreceived: Amount '+tx.nice+' C: '+tx.confirmations+ 'INSERT RECEIVED: '+tx.txid);
callback(null, records1);
} else {
//callback('error');
callback('error', null);
}
});