Próbuję utworzyć prostą bazę danych zwaną "_users" i wstawić do niej nowego użytkownika za pomocą Couch-DB.Nie znaleziono dokumentu/nie ma go po wstawieniu do bazy danych couchdb
używam węzła w skorupkach uruchomić następujący kod:
UserProfile.js
var nano = require('nano')('http://localhost:5984')
module.exports = {
addUser: function(id, name, password){
var usersDB = nano.use('_users')
var options = {
"_id": "org.couchdb.user:"+id,
"name": id,
"roles": [],
"type": "user",
"password": password
}
usersDB.insert(options, function(err, body, header) {
console.log('insert is being called')
if (err) {
console.log(err.message);
return;
}
console.log(body);
});
}
};
węzeł repl
> var nano = require('nano')('http://localhost:5984')
undefined
> var usersdb = nano.db.destroy('_users')
undefined
> var usersdb = nano.db.create('_users')
undefined
> var profile = require('./UserProfile.js')
undefined
> profile.addUser('cheese', 'flubber', 'goat')
undefined
> insert is being called
> OS process timed out.
Po uruchomieniu tego spodziewam się zobaczyć wpis na /_users/cheese
, ale nie istnieje wpis. Czy robię coś niepoprawnie?
1. Oczekiwanym wpisem powinien być /_users/org.couchdb.user:cheese 2. Jaka jest odpowiedź wywołania zwrotnego usersDB.insert? –
@ AlexisCôté Kiedy przechodzę do '/_users/org.couchdb.user: cheese', widzę' {"error": "not_found", "reason": "missing"} '. Nie ma odpowiedzi od wywołania zwrotnego; jak widać w powyższej skorupie, po prostu wraca undefined. –
Funkcje 'nano.db.destroy' i' nano.db.create' używają wywołań zwrotnych - czy wywołania API zostały rozwiązane przed przejściem do następnego połączenia? – tephyr