从node.js以编程方式执行mongodb admin/console命令的最佳方法是什么?具体来说,我想在执行一系列插入后使用mongodump导出mongodb集合.像这样的东西:
// requires and initializing stuff left out for brevity
db.open(function(err, db) {
if(!err) {
db.collection('test', function(err, collection) {
var docs = [{'hello':'doc1'}, {'hello':'doc2'}, {'hello':'doc3'}];
collection.insert(docs, {safe:true}, function(err, result) {
// Execute mongodump in this callback???
});
});
}
});
Run Code Online (Sandbox Code Playgroud) 从数组创建可读流并将值管道传递到可写流的最佳方法是什么?我已经看到了使用setInterval的substack 示例,我可以使用0来成功实现间隔值,但是我在迭代大量数据并且每次触发gc都会减慢速度.
// Working with the setInterval wrapper
var arr = [1, 5, 3, 6, 8, 9];
function createStream () {
var t = new stream;
t.readable = true;
var times = 0;
var iv = setInterval(function () {
t.emit('data', arr[times]);
if (++times === arr.length) {
t.emit('end');
clearInterval(iv);
}
}
}, 0);
// Create the writable stream s
// ....
createStream().pipe(s);
Run Code Online (Sandbox Code Playgroud)
我想做的是在没有setInterval的情况下发出值.也许使用这样的异步模块:
async.forEachSeries(arr, function(item, cb) {
t.emit('data', item);
cb();
}, function(err) {
if (err) {
console.log(err);
}
t.emit('end');
}); …Run Code Online (Sandbox Code Playgroud) 我想在pandas DataFrame中的一个新列中为每一行添加一个uuid.这显然用相同的uuid填充列:
import uuid
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(4,3), columns=list('abc'),
index=['apple', 'banana', 'cherry', 'date'])
df['uuid'] = uuid.uuid4()
print(df)
a b c uuid
apple 0.687601 -1.332904 -0.166018 34115445-c4b8-4e64-bc96-e120abda1653
banana -2.252191 -0.844470 0.384140 34115445-c4b8-4e64-bc96-e120abda1653
cherry -0.470388 0.642342 0.692454 34115445-c4b8-4e64-bc96-e120abda1653
date -0.943255 1.450051 -0.296499 34115445-c4b8-4e64-bc96-e120abda1653
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是'uuid'专栏每行中的新uuid.我也试过使用.apply()和.map()但没有成功.
我使用node.js异步包,特别是forEachSeries,根据从数组中提取的参数发出一系列http请求.在每个请求的回调中,我有一些if/else语句来响应不同类型的响应.
// This is the callback of a GET request inside of a forEachSeries
function(error, response) {
if (response.results) {
// Do something with results
}
else if (!response.results) {
// Would like to use a continue statement here, but
// this is not inside of a loop
}
else {
// Do something else
}
}
Run Code Online (Sandbox Code Playgroud)
如果在上面,我可以在其他内部使用"继续"等效吗?这在技术上不属于循环,所以继续不起作用.
我试图避免在服务器上处理这个不正确编码的请求.我有一个像这样的参数的请求:
$.ajax({
url: "http://someplace.ontheinternets/count?",
data: {
days_since_epoch: 15460
},
dataType: "json",
success: function(data) {
// Do something with data
}
});
Run Code Online (Sandbox Code Playgroud)
这给了我:http://someplace.ontheinternets/count?&days_since_epoch = 15460
领先的&符号在另一端给我带来问题(解释为两个参数,第一个参数为空).似乎很容易解决,但我没有在相关问题中看到这个具体问题.任何的意见都将会有帮助.
node.js ×3
javascript ×2
async.js ×1
asynchronous ×1
dataframe ×1
jquery ×1
mongodb ×1
node-async ×1
pandas ×1
pipe ×1
python ×1
python-3.x ×1
stream ×1
url ×1
uuid ×1